在jquery中匹配精确的搜索字符串

时间:2012-04-28 14:40:30

标签: javascript jquery search filter each

我正在使用jQuery解析各种XML文件,并且已经实现了一个搜索功能,可以在当前选择的文件中找到某个单词或短语,但是下面这行有一个小问题:

$("LINE:contains(" + query + ")",currentContext).each(function(){

搜索本身工作得很好,但是,这一行检索包含查询的所有单词。例如,如果我想找到“儿子”这个词,那就是检索“季节”。

据我所知,这取决于寻找包含“son”的任何字符串。从我周围看到的是.filter()可以解决我的问题,但我不确定如何将其实现到我的代码中,我尝试了类似$("LINE").filter(query,currentContext).each(function()但无济于事,所以任何帮助我将不胜感激。

可在此处查看其中一个XML文件的简短示例:http://pastebin.com/1tqhpH4W

非常感谢提前!

1 个答案:

答案 0 :(得分:1)

这样的事情怎么样?

var word = "son";
$("LINE", currentContext).filter(function() {
    return new RegExp("\\b" + word + "\\b").test($(this).text());
}).each(function() { ... });