jQuery不:() - 梳理功能

时间:2011-08-17 13:18:26

标签: jquery jquery-selectors

我刚刚编写了以下函数,虽然它可以正常工作 - 因为行颜色应用于除了类.noAlternatingRows之外的所有表,因为.net无法直接将类应用于表(否)想法为什么 - 我不是.net开发人员,这是我被告知的内容) - 我现在需要从嵌套在一个范围内的表中删除表样式。

这是有效的,但有没有办法将两者结合在一起?我试图用逗号分隔我不希望应用样式的元素,但它似乎不起作用......

  $("table:not(.noAlternatingRows, span table) tr:odd").css("background-color", "#d9d9d9");
    $("table:not(.noAlternatingRows, span table) tr:even").css("background-color", "#f2f2f2");
    $("span table tr:even").css("background", "none");
    $("span table tr:odd").css("background", "none");

我确信有一种更简洁的方式来写它 - 谢谢:)

2 个答案:

答案 0 :(得分:0)

而不是这个选择器:

$("table:not(.noAlternatingRows, span table) tr:odd")

试试这个:

$("table:not(.noAlternatingRows, span > table) tr:odd")

这将只选择直接嵌套在span中的表,而不是嵌套在任意深度。如果这不起作用,你能为jsFiddle提供一个(不)工作测试用例吗?

答案 1 :(得分:0)

  

我现在需要从嵌套在span

中的表中删除表样式
$('span tr').css("background", "none");

那是所有人^^