我有一个TR行id(myRow),它有一个子表,该表包含类“.CONTENTROW”的行。我使用以下代码删除除“第一个”之外的所有类“.CONTENTROW”。这是我正在使用的代码:
var myRow = $("#" + rowId).next().clone();
$(myRow).find(".CONTENTROW tr:gt(0)").remove();
以上似乎不起作用,也不删除任何行。我尝试使用JSFiddle,但JSFiddle以一种奇怪的方式表现而不是令人耳目一新。
JSFIDDLE:http://jsfiddle.net/Xt6VQ/1/
答案 0 :(得分:11)
$(myRow).find(".CONTENTROW").not(":first").remove();
答案 1 :(得分:2)
如果 myRow
中的行ID没有#
作为前缀,则需要将选择器更改为:
$('#' + myRow);
由于您的myRow
变量已经是jQuery对象(正如您在通过var myRow = $("#" + rowId).next().clone();
检索的评论中指定的那样),因此您可以直接调用myRow.find()
。
您还需要将行选择器更改为tr.CONTENTROW:not(:first-child)
您目前所拥有的是将所有元素与CONTENTROW
类匹配,找到tr
的所有组合后代,然后选择第一个匹配的后代。
有关详细信息,请参阅:first-child
和:gt
选择器文档。
所以,总结一下;
myRow.find("tr.CONTENTROW:not(:first-child)").remove();