xpe*_*tor 18 javascript jquery dom jquery-selectors dom-traversal
假设我的内容中有很多这样的内容div:<cite class="fn">blabla</cite>
如何用类检查每个cite标签的内容(在这种情况下:),看它是否等于"sometext"然后将它的颜色改为红色?blablafn
非常简单.
pow*_*uoy 32
$('cite.fn:contains(blabla)').css('color', 'red');
Run Code Online (Sandbox Code Playgroud)
编辑:虽然这也符合"blablablabla".
$('cite.fn').each(function () {
if ($(this).text() == 'blabla') {
$(this).css('color', 'red');
}
});
Run Code Online (Sandbox Code Playgroud)
那应该更准确.
编辑:实际上,我认为bazmegakapa的解决方案更优雅:
$('cite.fn').filter(function () {
return $(this).text() == 'blabla';
}).css('color', 'red');;
Run Code Online (Sandbox Code Playgroud)
kap*_*apa 12
你可以使用这种神奇的.filter()方法.它可以将一个函数作为其参数,这将把jQuery集合的元素减少为通过其测试的元素(函数返回true).之后,您可以轻松地对其余元素运行命令:
var searchText = 'blabla';
$('cite.fn').filter(function () {
return $(this).text() === searchText;
}).css('color', 'red');
Run Code Online (Sandbox Code Playgroud)