我正在尝试将contains
与'this'关键字一起使用,但它会出错。
JS
$(function(){
var check=$('ul').find('li').filter(function(){
return $(this:contains('two')).css('color','red')
})
})
HTML
<ul>
<li id="one">one</li>
<li id="two">two</li>
<li id="one">one</li>
<li id="two">two</li>
<li id="one">one</li>
<li id="two">two</li>
<li id="one">one</li>
<li id="two">two</li>
<li id="one">one</li>
<li id="two">two</li>
</ul>
答案 0 :(得分:5)
这是你在找什么?
$(function () {
$('ul').find('li').filter(function () {
return this.innerHTML == 'two';
}).css('color','red')
})
或者在元素中的任何地方匹配(而不是仅在其中的“两个”):
$(function () {
$('ul').find('li').filter(function () {
return /two/.test(this.innerHTML);
}).css('color','red')
})
此外,如果重要...链接方法(.find().filter()
)似乎比使用contains
更快:
Performance test created for this specifically
Another related test
你的id应该是唯一的 - 但是我假设它只是复制/粘贴示例代码,并且实际上代码中实际上没有重复的id。
答案 1 :(得分:3)
答案 2 :(得分:0)
$(this).text() == 'two';
获取当前li的文字&amp;检查它是否具有值“2”。