当孩子用jquery包含“特定文本”时更改背景

时间:2014-02-25 06:26:04

标签: jquery

我基本上想要根据行中<tr>的内容更改<td class="status">的背景颜色。

我在其他许多事情中尝试了这一点

$('.status:contains("Complete")') .parent() .css('background', '#dff0d8');

以下代码可以自行设置<td>

的颜色
$('.status:contains("Complete")') .css('background', '#dff0d8');

但.parent()无法为行着色。任何帮助非常感谢。

3 个答案:

答案 0 :(得分:4)

css应用于td而不是tr的兄弟姐妹,如果您想要包含当前的td,也可以使用andSelf()

$('.status:contains("Complete")').siblings().andSelf().css('background', '#dff0d8');

如果您使用的是jQuery 1.8 +,请使用andBack而不是andSelf。

  

andSelf函数已被弃用,现在是别名   .addBack(),应与jQuery 1.8及更高版本reference一起使用。

答案 1 :(得分:2)

您可以使用closest()获取tr的最近td个父级:

$('.status:contains("Complete")').closest('tr').css('background', '#dff0d8');

答案 2 :(得分:0)

试试这个,

  $('.status:contains("Complete")') .closest('tr') .css('background', '#dff0d8');