Использование jQuery для поиска содержимого <td> - PullRequest
4 голосов
/ 04 декабря 2009

Я пытаюсь использовать jQuery для поиска <td> s с заданным содержимым (текстом) внутри. Например:

http://sotkra.com/btol/index.php

Слева направо, на седьмой КОЛОННЕ с надписью «ТИПО МОНЕДА» отображаются PESOS или DOLARES. Я хотел бы иметь возможность сделать следующее:

  1. Выберите <td> s с текстом «DOLARES» или «PESOS» и добавьте к ним класс.

  2. Выберите <td> s с текстом 'DOLARES' или 'PESOS' и добавьте класс к их родителю <tr> s.

Для # 1 я пробовал с этим:

$('td[innerHTML=Dolares]').addClass('highlight');

а также

$('td[html=Dolares]').addClass('highlight');

Ни один из которых не работал.

Ответы [ 3 ]

15 голосов
/ 04 декабря 2009

Вы хотите использовать :contains.

$('td:contains("Dolares")').addClass('highlight');

для родителя

$('td:contains("Dolares")').parent().addClass('highlight');
2 голосов
/ 04 декабря 2009

Глядя на ссылку селектора jQuery , я не думаю,
$('td[innerHTML=Dolares]') и
$('td[html=Dolares]') собирается работать.

Я могу думать только об итерациях по всем TD и проверять содержимое $(tdselector).html().

Вы можете попробовать contains("Dolares"), как подсказывает tvanfosson. Это работает для вашего случая, так как маловероятно, что у вас будет "xxDolaresxx" в других TD.

0 голосов
/ 04 декабря 2009

Вы очень близки, просто пропускаете несколько галочек вокруг значения в вашем селекторе. Это должно работать:

$("td[innerHTML='Dolares']").addClass('highlight');

А для родительского селектора:

$("td[innerHTML='Dolares'][innerHTML='Pesos']").parent().addClass('someClass');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...