diff --git a/script/relationship.js b/script/relationship.js index d5b4b92..901e5f7 100644 --- a/script/relationship.js +++ b/script/relationship.js @@ -106,10 +106,6 @@ str:',$1#,xs$1' }, /* 孩子 */ - {//夫妻的孩子就是自己的孩子 - exp:/,[wh](,[ds])/g, - str:'$1' - }, {//孩子的姐妹是自己的女儿(年龄判断) exp:/,[ds]&o,ob/g, str:',s&o', @@ -135,10 +131,6 @@ str:',s', }, /* 夫妻 */ - {//夫妻的对方是自己 - exp:/(,w,h)|(,h,w)/g, - str:'' - }, {//自己是女性,女儿或儿子的妈妈是自己 exp:/(,[mwd](&[ol])?|([olx]s)),[ds](&[ol])?,m/g, str:'$1' @@ -163,6 +155,14 @@ exp:/^,[ds],f(.+)?$/, str:'$1#,h$1' }, + {//夫妻的孩子就是自己的孩子 + exp:/,[wh](,[ds])/g, + str:'$1' + }, + {//夫妻的对方是自己 + exp:/(,w,h)|(,h,w)/g, + str:'' + }, ]; var _data = { @@ -476,32 +476,37 @@ //简化选择器 function selector2id(selector){ var result = []; + var hash = {}; var getId = function(selector){ - var s; - // console.log('in#',selector); - do{ - s = selector; - for(var i in _filter){ - var item = _filter[i]; - if(item['con']){ - if(selector.match(item['con'])){ + var s=''; + if(!hash[selector]){ + hash[selector] = true; + var status = true; + do{ + s = selector; + for(var i in _filter){ + var item = _filter[i]; + if(item['con']){ + if(selector.match(item['con'])){ + selector = selector.replace(item['exp'],item['str']); + } + }else{ selector = selector.replace(item['exp'],item['str']); } - }else{ - selector = selector.replace(item['exp'],item['str']); + if(selector.indexOf('#')>-1){ + var arr = selector.split('#'); + for(var i=0;i-1){ - var arr = selector.split('#'); - for(var i=0;i