Jak znaleźć przedział zawierający tekst „Znajdź mnie”Jak wybrać zakres zawierający określoną wartość tekstową, używając jquery?
<div>
<span>FIND ME</span>
<span>dont find me</span>
</div>
Jak znaleźć przedział zawierający tekst „Znajdź mnie”Jak wybrać zakres zawierający określoną wartość tekstową, używając jquery?
<div>
<span>FIND ME</span>
<span>dont find me</span>
</div>
http://api.jquery.com/contains-selector/
$("span:contains('FIND ME')")
ETA:
zawiera selektor jest ładny, ale filtrując listę przęseł jeśli prawdopodobnie szybszy: http://jsperf.com/jquery-contains-vs-filter
$("span").filter(function() { return ($(this).text().indexOf('FIND ME') > -1) }); -- anywhere match
$("span").filter(function() { return ($(this).text() === 'FIND ME') }); -- exact match
czy to odpowiada na moje następne pytanie? http://stackoverflow.com/questions/9424509/how-do-i-selecta-a-span-containing-an-exact-text-value-using-jquery – MedicineMan
Tak. Filtr jest odpowiedzią ponownie, ale tym razem sprawdzasz całą wartość .text() dla dopasowania zamiast szukania indeksu. Odpowiedź zaktualizowana. – Malk
Dzięki Malk! Nie słyszałem o filtrze(). Czasami jest to konieczne, ponieważ contains() jest porównaniem wieloznacznym, więc znajdzie "Znajdź mnie" i "NIE ZNALEZ MI", co nie jest pomocne, jeśli potrzebujesz dokładnego dopasowania. – Peadar
Zastosowanie contains:
$("span:contains('FIND ME')")
myślę, że to będzie działać
var span;
$('span').each(function(){
if($(this).html() == 'FIND ME'){
span = $(this);
}
});
O tak. Te inne odpowiedzi są znacznie lepsze. Użyj ich. – buck54321
Przy okazji, jeśli chcesz korzystać z tego ze zmienną, można zrobić to w ten sposób:
function findText() {
$('span').css('border', 'none'); //reset all of the spans to no border
var find = $('#txtFind').val(); //where txtFind is a simple text input for your search value
if (find != null && find.length > 0) {
//search every span for this content
$("span:contains(" + find + ")").each(function() {
$(this).css('border', 'solid 2px red'); //mark the content
});
}
}
możliwy duplikat [jquery znajdź element po tekście] (http://stackoverflow.com/questions/7321896/jquery-find-element-by-text) –