我正在使用here功能,我的问题在于,当我在多个段落中搜索时,var = MyApp_SearchResultCount
并没有连续计数一些奇怪的原因。当我在一个文本块上运行脚本时,它可以像我预期的那样工作,但是当搜索多个段落时,我会得到这样的结果:
<p>
text text [id=4]search string[/] text text text text [id=5]search string[/] text
text text text [id=6]search string[/] text text
</p>
<p>
text text [id=3]search string[/] text text text text
text text text text text
</p>
<p>
text text text text text text [id=1]search string[/] text
text text text [id=2]search string[/] text text
</p>
有没有人知道为什么会发生这种情况以及如何解决这个问题?
工作jsFiddle
答案 0 :(得分:1)
原因是因为它反过来反复穿过孩子......试试这个:
我改变的部分在这里(从第32行开始):
} else if (element.nodeType == 1) { // Element node
if (element.style.display != "none" && element.nodeName.toLowerCase() != 'select') {
$(element).contents().each( function() {
MyApp_HighlightAllOccurencesOfStringForElement(this,keyword);
});
}
}