Я написал несколько jQuery для выбора ячеек в таблице с определенным классом;в этом случае "привет".Однако в таблице есть вложенные таблицы со столбцом того же класса.Как выбрать ячейки из внешней таблицы, но не выбрать ячейки из внутренней?Смотрите ниже:
HTML: <table class="foo"> <!-- this is the outer table <tbody> <tr> <td class="hello"> <!-- select this cell <table> <!-- this is the nested table <tbody> <tr> <td class="hello"> <!-- do not select this cell </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> jQuery: // this selects the nested cells as well $('table.foo:first').find('td.hello').doSomething();
То, что вы хотите, это избегать повторения слишком глубоко, поэтому вы можете пойти так:
$('table:first > tbody > tr > td.hello')
Что, я считаю, эквивалентно
$('table:first').children('tbody').children('tr').children('td.hello')
Если классы на внешней таблице остаются, вы можете просто использовать:
$('table.foo > tbody > tr > td.hello');
Здесь, возможно, стоит отметить один факт: элемент *1005* присутствует всегда , даже если вы не указали его явно. Из-за природы определения SGML / HTML / XHTML / whatyacallit для элемента <tbody> он имеет необязательный открывающий тег . Даже если источник не содержит его, элемент DOM будет создан при анализе таблицы.
<tbody>