我有一个RegEX:
var re = RegExp("(?:^\\W*|(" + motBefore.replace(/[.*+?^${}()|[\]\\]/g,"\\$&") + ")\\W+)" + motErreur.replace(/[.*+?^${}()|[\]\\]/g,"\\$&") + "(?:\\W+(" + motAfter.replace(/[.*+?^${}()|[\]\\]/g,"\\$&") + ")|\\W*$)","g");
有了这个RegEX,我可以在我的页面中找到关于定位的某个词的位置(就像这个我没有多次出现,如果它不是我想要的那个).
我想用跨度来调整motErreur.事实是我不能通过简单的替换和改变innerHTML来做到这一点,因为它弄乱了我的页面的标签.
我在用 :
var result = document.getElementById('edth_corps'); var textRangeGlobal = document.body.createTextRange(); textRangeGlobal.moveToElementText(result); if(textRangeGlobal.findText(motErreur)){ var html= "<span id='"+nbId+"' class='erreurOrthographe' oncontextmenu='rightClickMustWork(event,this);return false'>" + motErreur + "</span>"; textRangeGlobal.pasteHTML(html); }
我希望var结果不是document.getElementById(‘edth_corps’);但是我用RegEX获得结果的节点.
我在IE5上,无法弄清楚如何使用RegEx获取Node(我试过匹配,但它没有用.
有人有想法怎么做?