我有一个面包屑的文本,我正在用这些文本来打开页面上的菜单项。例如,说bctext = 'pasta'
。
我想定位“意大利面”一词,但不要说“yadda yadda yadda pasta”。仅单个单词“pasta”的一个实例应匹配,或者如果bctext
是短语,则它将仅找到确切的短语。
这是我到目前为止的内容:
$('ul#accordion a:contains(' + bctext + ')')
但这当然找到了“yadda yadda意大利面”。
我得到
bctext
与以下内容:var bctext = $('#CategoryBreadcrumb ul li:last-child').prev().children().text();
然后,我使用以下内容编辑菜单:
$('ul#accordion a:contains(' + bctext + ')').parent()
.addClass('special')
.children('ul')
.css('display','block');
这是我要成为可能的吗?
最佳答案
$('ul#accordion a').filter(function() {
return $(this).text() == bctext;
}).parent().addClass('special').children('ul').css('display','block');
无论如何,
:contains()
并不是 native 选择器,因此将.filter()
与自定义回调一起使用不会产生任何性能缺陷。