2010-11-05 3 views
1

У меня есть таблица с некоторыми вложенными таблицами (это выводится, но контроль DotNet я не могу сделать что-нибудь)Получить прямые детей с JQuery

Что я хочу, чтобы переместить все строки, которые являются прямым ребенком, но так пока он не работал, как я думал.

У меня есть базовая установка, которая просто принимает все строки, а также те из вложенных таблиц, я закомментировать несколько других, я trued, что не дали желаемых результатов

то, что я хочу, чтобы он перемещает полные строки, даже если строка имеет вложенную таблицу и DonT подсчет строк в этой таблице в функциональности ломтика

Вы можете увидеть мои настройки на jsfiddle

Любая помощь будет оценена

ответ

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"); 
+0

спасибо, что я думал, что у меня было верхнее решение, покрытое $ ('# tblPropertyDetail tr: not (: has (tr))'), но ваш работал отлично – nokiko

1

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

просто помните, что * потому что JavaScript браузер автоматически добавляет TBODY элементы.

EDIT:
Исправлена ​​ошибка, связанная с добавлением элементов кузова.

+0

JavaScript не добавляет ничего автоматически, это DOCTYPE, который определяет, выведенный парсером. –

0

Я знаю, что мой ответ немного запоздал, и jQuery развился с тех пор, но теперь есть лучший способ сделать это, просто позвоните детям()! :)

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

Вы также можете добавить селектор в метод children().

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

Смежные вопросы