如果元素包含某些文本
$('.test').css('background','red'); Some text
如果#example
包含单词“text”,我怎么能.addClass('test')
?
只需使用:contains
伪类
$('#example:contains("text")').addClass('test');
如果它包含’text’,这会将类添加到#example
您可以使用$("#example")
获取元素的jQuery包装器,然后使用text()
获取其文本,并使用String#indexOf
,例如:
var ex = $("#example"); if (ex.text().indexOf("text") !== -1) { ex.addClass("test"); }
您还可以在选择器中使用:contains("text")
作为F. Calderan显示 ,但请注意,当您使用非标准伪选择器时,jQuery无法使用底层浏览器的内置函数来查找元素,所以它可能会更慢。 以上将允许jQuery使用document.getElementById
。 但是,只有少数情况下速度真的很重要。
尝试以下代码
$('#example:contains("text")').addClass('test');
看看这里的示例和解释:contains
选择器