jQuery - 像浏览器一样在onPage上搜索

时间:2010-02-01 15:22:03

标签: jquery dom

我尝试使用STRG + F在现代浏览器中进行onpage搜索。我试过:

$("#mydiv").find(':contains(\'mySearchString\')').prepend('found you!');

问题是jQuery添加了多次找到你,因为有多个元素都有字符串。例如:

Found you<div>
   Found you<ul>
      Found you<li>
         Found you<a>mySearchString</a>
      </li>
   </ul>
</div>

2 个答案:

答案 0 :(得分:2)

$('#mydiv').find(':contains(\'mySearchString\')').contents().filter(function(){return this.nodeType == Node.TEXT_NODE}).prepend('found you!');

只会选择最后一个内部文本节点。如果您使用的是IE,请使用常量3而不是Node.TEXT_NODE。

答案 1 :(得分:1)

你可以这样做:

$("#mydiv").find(':contains(\'mySearchString\')').eq(0).prepend('found you!');

挑出第一场比赛。

否则你可以说它就像谷歌浏览器一样,立即突出显示所有搜索匹配;)