Pergunta

Estou tentando direcionar e, eventualmente, estilizar uma string, neste exemplo BLA, em uma página HTML com muitas tabelas testadas.

Por exemplo página HTML:

<table>
<tr>
<td><table><div><tr><td>BLA</td></tr></div></table></td>
</tr>

E o script jquery que eu uso:

$("td:contains('BLA')");  

para fazer isso, mas vejo que TODOS os td's estão selecionados.Como posso obter o primeiro td, sem todos os ancestrais?E se isso for possível, como posso adicionar uma classe ao primeiro ancestral ao subir na árvore DOM?(e apenas este)

Obrigado comunidade

Foi útil?

Solução

O que você descreve é ​​o último td e não o primeiro, pois eles são retornados na ordem hierárquica do DOM.

$('td:contains("BLA"):not("td td")').addClass('whatever');

demonstração em http://jsfiddle.net/92Xj2/


Atualizar após esclarecimento no comentário

$('td:not(:has(td)):contains("BLA")').addClass('whatever');

nova demonstração http://jsfiddle.net/gaby/92Xj2/4/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top