查找和更改类

时间:2011-10-03 18:10:03

标签: jquery jquery-selectors

假设我们有这样的表:

<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 个答案:

答案 0 :(得分:2)

小提琴中的代码很好@ http://jsfiddle.net/Jayendra/nLYuW/

如果您想要整行,则需要使用父

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

答案 1 :(得分:1)

您的代码似乎按原样运行。您可以尝试将.attr()更改为addClass()作为替代方法。

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

这是a working fiddle

如果您想将CSS类添加到整行,请使用.parent()选择器。

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

答案 2 :(得分:1)

你也可以用这个:

$("#tbl tr").filter(':has(td:contains("abc"))').addClass("highlight");