用jquery直接带孩子

时间:2010-11-05 17:54:44

标签: jquery

我有一个带有一些嵌套表的表(这是输出但是一个dotnet控件我无法做任何事情)

我想要的是移动所有直接孩子的行但到目前为止它没有像我想象的那样工作。

我有一个基本的设置,它只占用了所有的行,也是嵌套表格中的那些行,我注释了一些我认为没有给出预期结果的其他行

我想要它移动整行,即使该行有嵌套表并且它不计算切片功能中该表中的行

您可以在jsfiddle

查看我的设置

任何帮助将不胜感激

3 个答案:

答案 0 :(得分:2)

您可以在所有情况下使用:not(),如果您知道自己的加价条件,则可以使用child selector (>)

$('#tblPropertyDetail tr:not(tr tr)').slice(0, 40).appendTo(".one");

You can test it here。替代方案是:

$('#tblPropertyDetail > tr').slice(0, 40).appendTo(".one");

但是,根据您的DOCTYPE,这可能会也可能不会起作用,这取决于它为您添加的<tbody>元素(例如,在XHTML中推断)。为了安全起见,请自行添加<tbody>并执行此操作:

$('#tblPropertyDetail > tbody > tr').slice(0, 40).appendTo(".one");

答案 1 :(得分:1)

$('#tableID > * > tr, #tableID > tr')

请记住*因为 JavaScript ,浏览器会自动添加tbody元素。

编辑:
纠正了自动添加tbody元素的错误。

答案 2 :(得分:0)

我知道我的答案有点晚了,jQuery已经发展了,但现在有更好的方法,只需调用children()! :)

$('#tblPropertyDetail').children().appendTo(".one");

您甚至可以为children()方法添加选择器。

Here's the doc about children() in jQuery.