jQuery的选择和排除多个第n个孩子的
问题描述:
有,我可以同时喜欢选择多个第n个孩子的一种方式:jQuery的选择和排除多个第n个孩子的
$("#table").find("tr > :not(td:nth-child(1,3,5))");
不工作
我想选择所有的TD每行但不是列1,3,5(这可以是任何组合)。
有没有办法做到这一点?我无法分配类名。
感谢您的任何帮助!
UPDATE:
我想在一个表中的所有行进行搜索,但不包括某些列。
我现在有这样的代码:
elem.keyup(function() {
$(options.table).find("tr").hide();
var data = this.value.split(" ");
var jo = $(options.table).find("tr > :not(td:nth-child("+cols+"))");
$.each(data, function(i, v){
jo = jo.filter(":containsIgnoreCase('"+v+"')");
});
jo.parent().show();
});
它工作时,我传递一个值,但我要排除多个列。
感谢
答
从你的榜样,它看起来像你想排除奇数。尝试:
$("#table").find("tr > :not(td:nth-child(odd))");
虽然,选择偶数可能更有效。
$("#table").find("tr > td:nth-child(even)");
你也可以在nth-child中使用公式。 See this link for more detail.
好,如下面的意见/澄清这个问题,这里是另一种解决方案。
$("#table").find("tr > td").filter(function(index){
return index == 1 || index == 2 || index == 5;
});
谢谢,但不,这只是一个坏例子。它可以是第1,7,8列或4,6 ... – dacami
你如何确定哪些列将被排除?或者你每次都硬编码? – ahren
这些列是硬编码的,我将用它作为许多不同表的内联表搜索,并且总是必须排除一些列。..我的例子工作时,我只有一列排除,但我不会为多个上面编辑的列 – dacami