2

我想要一个项目列表(每个 tr 中的 td),除了某些列,比如最后一列和第二列。怎么做到呢?我可以装饰特定的 td 以使用某些属性排除,或者我可以仅根据索引排除它们。下面的示例删除了我想要的项目,虽然我实际上想附加到鼠标悬停事件但为简单起见而省略了。

这是获取除最后 2 列之外的所有列的脚本(示例不删除最后 2 列):

$('table').find("tr td:not(:nth-last-child(-n+2))").remove();

我试过这个从删除中排除第二个和第三个,但它不喜欢逗号分隔的选择器(我认为你可以像这样做一个多重选择器?):

$('table').find("tr td:not(:nth-last-child(2),:nth-last-child(3))").remove();

这里有一个例子在jsfiddle上。

编辑:我正在使用 javascript 1.8.3

4

3 回答 3

2

您的代码工作正常,您使用的是旧版本的 jQuery (1.7)。:nth-last-child 选择器是在 jQuery 1.9 中添加的。升级,它将正常运行。

于 2013-02-13T11:24:18.513 回答
0
$('table').find("tr td").not(':nth-last-child(2), :nth-last-child(3)');
于 2013-02-13T11:20:34.020 回答
0

试试下面的,

$('table').find("tr td::not(:eq(2)):not(:eq(1))");

我希望它会帮助你。

于 2013-02-13T11:24:53.360 回答