Найти и изменить класс - PullRequest
       3

Найти и изменить класс

0 голосов
/ 03 октября 2011

Предположим, у нас есть такая таблица:

<table id="tbl">
  <tr><td>1</td><td>abc</td></tr>
  <tr><td>2</td><td>def</td></tr>
  <tr><td>3</td><td>abc</td></tr>
  <tr><td>4</td><td>def</td></tr>
</table>

Как изменить класс строки на класс ниже, если строка содержит abc?

.hightlight
{
 background-color:yellow;
 color:blue;
}

Я использовал эту команду jquery, но не работает:

$('#tbl tr td:contains("abc")').attr('class','hightlight');

Ответы [ 3 ]

2 голосов
/ 03 октября 2011

Код в скрипте работает нормально @ http://jsfiddle.net/Jayendra/nLYuW/

Если вы хотите целую строку, вам нужно использовать parent

$('#tbl tr td:contains("abc")').parent().attr('class','hightlight');
1 голос
/ 03 октября 2011

Вы также можете использовать это:

$("#tbl tr").filter(':has(td:contains("abc"))').addClass("highlight");
1 голос
/ 03 октября 2011

Ваш код работает как есть.Вы можете попробовать изменить .attr() на addClass() в качестве альтернативного метода.

$('#tbl tr td:contains("abc")').addClass('hightlight');

Вот рабочая скрипка .

Если вы хотите добавитьКласс CSS для всей строки, затем используйте селектор .parent().

$('#tbl tr td:contains("abc")').parent().addClass('hightlight');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...