我想要一个项目列表(每个tr中的td)除了某些列,比如第2和第3列。怎么做到呢?我可以装饰特定的td以使用某些属性排除,或者我可以仅根据索引排除它们。 下面的示例删除了我想要的项目,虽然我实际上想要附加到鼠标悬停事件但是为了简单而省略了。
这是脚本获取除最后2列之外的所有列(示例不删除最后2列):
$('table').find("tr td:not(:nth-last-child(-n+2))").remove();
我试过这个从remove中排除第二个和第三个,但它不喜欢逗号分隔的选择器(我以为你可以像这样做一个多选择器?):
$('table').find("tr td:not(:nth-last-child(2),:nth-last-child(3))").remove();
此处的示例位于jsfiddle。
编辑:我正在使用javascript 1.8.3
答案 0 :(得分:2)
您的代码运行正常,您使用的是旧版本的jQuery(1.7)。 jQuery 1.9中添加了The :nth-last-child selector。升级,它将正确运行。
答案 1 :(得分:0)
$('table').find("tr td").not(':nth-last-child(2), :nth-last-child(3)');
答案 2 :(得分:0)
试试以下内容,
$('table').find("tr td::not(:eq(2)):not(:eq(1))");
我希望它会对你有所帮助。