Я пытаюсь выбрать <tr>
элементы из таблиц, которые содержат подтаблицы, чтобы извлечь <tr>
элементы только из таблиц, а не из подтаблиц, поэтому я не могу использовать метод find()
.Другая проблема заключается в том, что таблицы могут иметь или не иметь <tbody>
, поэтому я не могу использовать children()
.
HTML-код
<table id='table1' class='toptable'>
<tbody>
<tr><td>
<table class='subtable'>
<tr></tr>
</table>
</td></tr>
</tbody>
</table>
<table id='table2' class='toptable'>
<tr><td>
<table class='subtable'>
<tr></tr>
</table>
</td></tr>
</table>
Решение до сих пор
Я нашел способ выделить <tr>
элементовиз таблиц (независимо от того, имеют ли они tbody
или нет) без выбора элементов <tr>
из подтаблиц с помощью дочернего селектора >
.
$('#table1 > tbody > tr).length // -> 1
$('#table2 > tbody > tr).length // -> 1
Вопрос
Как я могу преобразовать вышеупомянутые селекторы в один метод, который я смог бы применить к объекту таблицы, позволяя мне проходить через коллекцию table.toptable
и повторно использовать тот же метод с обеими таблицами?(см. ниже)
$('.toptable').each(function(){
$(this).({trs-from-table}).each( ... );
});
JSFIDDLE
Вот ссылка