如果元素包含某些文本

If element contains certain text

本文关键字:文本 包含某 元素 如果      更新时间:2023-09-26
$('.test').css('background','red');
<div id="example">Some text</div>

如何.addClass('test') #example是否包含"文本"一词?

只使用伪类:contains

$('#example:contains("text")').addClass('test');

如果类包含"文本",这将#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选择器的示例和说明