Tak, skorzystaj z oceny @RocketHazmat , powiedz, że masz 5 elementów z prefiksem „Zarejestruj umowę”, a każdy ma sufiks liczbowy. Ostatecznie wybierzesz je wszystkie , gdy w rzeczywistości chcesz tylko element z tekstem: „Zarejestruj umowę 26” .
W przypadku, gdy pomaga to komuś, kto lubi używać spacji w swoich parenach, następujące działania nie działają:$('div:contains( "test" )').css('background-color', 'red');
Dopasowany tekst może pojawić się bezpośrednio w wybranym elemencie, w dowolnym potomku tego elementu lub w kombinacji
Dlatego nie wystarczy użyć :contains()selektora , musisz również sprawdzić, czy szukany tekst jest bezpośrednią zawartością elementu, na który celujesz, coś takiego:
function findElementByText(text){var jSpot = $("b:contains("+ text +")").filter(function(){return $(this).children().length ===0;}).parent();// because you asked the parent of that elementreturn jSpot;}
Takie rozwiązanie może się nie powieść w następującym scenariuszu: <li>Hello <a href='#'>World</a>, How Are You. . Tutaj, jeśli Howjest przeszukiwany, warunek się nie powiedzie.
Faceci, wiem, że to stare, ale hej mam to rozwiązanie, które moim zdaniem działa lepiej niż wszyscy. Przede wszystkim eliminuje rozróżnianie wielkości liter, które jquery: zawiera () jest dostarczane z:
var text ="text";var search = $("ul li label").filter(function(){return $(this).text().toLowerCase().indexOf( text.toLowerCase())>=0;}).first();// Returns the first element that matches the text. You can return the last one with .last()
Mam nadzieję, że ktoś w najbliższej przyszłości uzna to za pomocne.
<div>div1
<div>This is a test, nested in div1</div><div>Nested in div1<div></div><div>div2 test
<div>This is another test, nested in div2</div><div>Nested in div2</div></div><div>
div3
</div><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.