JQuery - найти элемент по тексту

114
05 июля 2021, 23:20

Нужно найти элемент на странице по значению текста. Есть селектор contains, но он ищет по сути вхождение подстроки в строку. То есть, например, есть элементы <a>новый игрок</a> и <a>игрок</a>. Нужно найти элемент с текстом "игрок". Так вот, contains вернет в качестве результата оба этих элемента, а нужно получить только последний. Как это можно сделать?

Answer 1

var findText = "player"; 
var $elements = $(".container *").filter(function(){ 
  return $(this).html() == findText; 
}); 
// or ... = $(".container span").filter(... if only specific type of elements is needed 
 
console.log("Found", $elements.length, "element[s].") 
$elements.each(function() { console.log(this); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<div class="container"> 
  <span>new player</span> 
  <div><span>player</span></div> 
</div>

READ ALSO
Как выделить текста от значения инпута?

Как выделить текста от значения инпута?

подскажите как можно выделять цену жирным шрифтом или менять цвет текста в зависимости от введенного значения в inputУ меня есть цены: основная...

111
Как заблокировать любые переходы по ссылке в определенном контейнере?

Как заблокировать любые переходы по ссылке в определенном контейнере?

Я загружаю cURL'ом чужой сайт, и вывожу его (полностью весь сайт) внутри своего домена

77
Удаление лишних точек из числа

Удаление лишних точек из числа

Разрешен ввод в input только одной точкиПытаюсь удалять из числа лишние точки, если их вводят

87