我有一些来自痕迹的文本,我用它来打开页面上的菜单项。例如,请说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');
我的目标是什么?
答案 0 :(得分:14)
$('ul#accordion a').filter(function() {
return $(this).text() == bctext;
}).parent().addClass('special').children('ul').css('display','block');
:contains()
无论如何都不是原生选择器,因此使用带有自定义回调的.filter()
不会有任何性能缺陷。