JQuery contiene |.Target solo il primo antenato
Domanda
Sto cercando di indirizzare e alla fine di stile una stringa, in questo esame BLA, in una pagina HTML con molte tabelle testate.
Ad esempio Pagina HTML:
<table>
<tr>
<td><table><div><tr><td>BLA</td></tr></div></table></td>
</tr>
.
E lo script jQuery I uso:
$("td:contains('BLA')");
.
Per farlo, ma vedo che tutti i TD sono selezionati. Come posso solo ottenere il primo TD, senza tutti gli antenati? E se questo è possibile, come posso aggiungere una classe al primo antenato quando sale l'albero DOM?(e solo questo)
Grazie comunità
Soluzione
Cosa descrivi è l'ultima TD e non il primo da quando vengono restituiti in Dom Gerarchy Order.
$('td:contains("BLA"):not("td td")').addClass('whatever');
.
Demo a http://jsfiddle.net/92xj2/
.
Aggiornamento dopo chiarimenti nel commento
$('td:not(:has(td)):contains("BLA")').addClass('whatever');
.
New Demo http://jsfiddle.net/gaby/92xj2/4 /
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow