jquery找到没有更多或更少的确切字符串

时间:2012-04-30 17:37:30

标签: jquery regex

我有一些来自痕迹的文本,我用它来打开页面上的菜单项。例如,请说bctext = 'pasta'

我想以“面食”为目标,但不要说“yadda yadda yadda pasta”。只有单个单词“pasta”的实例应该匹配,或者如果bctext是一个短语,那么它只会找到确切的短语。

这是我到目前为止所做的:

$('ul#accordion a:contains(' + bctext + ')')

但是,当然,这会发现“yadda yadda pasta”。

我得到bctext以下内容:

var bctext = $('#CategoryBreadcrumb ul li:last-child').prev().children().text();

然后,我使用以下内容编辑菜单:

$('ul#accordion a:contains(' + bctext + ')').parent()
                                            .addClass('special')
                                            .children('ul')
                                            .css('display','block'); 

我的目标是什么?

1 个答案:

答案 0 :(得分:14)

$('ul#accordion a').filter(function() {
    return $(this).text() == bctext;
}).parent().addClass('special').children('ul').css('display','block');

:contains()无论如何都不是原生选择器,因此使用带有自定义回调的.filter()不会有任何性能缺陷。