Ответ 1
просто используйте :contains
псевдослот
$('#example:contains("text")').addClass('test');
это добавит класс к #example
если он содержит "текст",
$('.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")
в селекторе, как показывает Ф. Кальдеран, хотя обратите внимание, что при использовании нестандартных псевдоселекторов, подобных этому, jQuery не может использовать встроенный материал браузера для поиска элементов, поэтому он может быть медленнее. Вышеупомянутое позволит jQuery использовать document.getElementById
. Однако есть только несколько ситуаций, когда скорость действительно имеет значение.
попробуйте следующий код
$('#example:contains("text")').addClass('test');
Посмотрите здесь примеры и объяснения :contains
селектор