使用jQuery设置父元素css基于多个子元素的条件

时间:2010-08-13 21:23:00

标签: jquery parent conditional-statements children

<tr>
    <td class="cat" CategoryId="8">NoChange*: </td>
    <td><span class="itm" CategoryId="8">A</span></td>
</tr> 
<tr>
    <td class="cat" CategoryId="9">Row should be red*: </td>
    <td></td>
</tr> 
<tr>
    <td class="cat">Comments:</td>
    <td><span class="itm"></span></td>
</tr>​

我想为其中没有项目的类别设置验证。 对于类别8,它有一个值相关联,因此不需要显示所需的位置,因为9没有任何与之关联的项目。因此它的tr颜色应设置为红色。 同样应该完全忽略评论,因为它没有任何类别。 我试图将其设置为

$("tr.cat~tr.itm").children(":not(:has(td))").css("color","red")

2 个答案:

答案 0 :(得分:1)

这将选择以:empty开头的<td> <td class="cat">元素。

然后它遍历回.prev()元素并更改颜色。

试一试: http://jsfiddle.net/4DN6Q/1/

$("td.cat + td:empty").prev('td.cat').css("color","red");

答案 1 :(得分:0)