CSS
.highlight {
color: yellow;
}
HTML
<div>fox</div>
<div>brown</div>
的jQuery
if ($('div').text() == 'fox') {
this.addClass('highlight');
}
我上面的代码不起作用,我希望它为包含某个文本的元素添加一个类,以便它应用一个突出显示的CSS。
答案 0 :(得分:3)
this
引用了window
个对象。
.text()
方法返回所有选定元素的文本内容,返回值为:foxbrown
,不等于fox
。
您可以使用:contains
选择器选择包含特定文字的元素:
$('div:contains(fox)').addClass('highlight');
完全匹配:
$('div').filter(function() {
return (this.textContent || this.innerText) === 'fox';
}).addClass('highlight');
答案 1 :(得分:1)
正如@undefined提到的那样
$('div').filter(function() {
return (this.textContent || this.innerText) === 'fox';
}).addClass('highlight');
应该可以正常工作 - 但是还要记得让你的jsfiddle包含jquery,否则它将无法正常运行。
答案 2 :(得分:0)
尝试:空选择器。它不会帮助你处理某些文本,但文本存在。