Выбор TD внутри таблицы - PullRequest
       6

Выбор TD внутри таблицы

2 голосов
/ 05 декабря 2011

В jQuery, как выбрать ВСЕ TR, которые имеют только 2 TD внутри? Вот образец:

<table>
   <tr>
      <td></td>
   </tr>          
   <tr> /* I only want to select this. */
      <td></td>
      <td></td>
   </tr>
   <tr>
      <td></td>
   </tr>
</table>

Ответы [ 3 ]

5 голосов
/ 05 декабря 2011

Вы должны использовать метод .filter(), чтобы уменьшить tr только для тех, чей счетчик детей равен 2

$('table tr').filter(function(){
    return $(this).children().length === 2;
});

Демо на http://jsfiddle.net/gaby/xTNcG/

2 голосов
/ 05 декабря 2011

Как минимум для двух

$('tr > td:nth-child(2)').parent();
  • Если есть td:nth-child(2), то, очевидно, есть как минимум два td с

ровно для двух

$('tr > td:nth-child(2):last-child').parent();
  • Если есть tr > td:nth-child(2):last-child, то второе tdтакже является последним td, поэтому их должно быть только два.

Или вот так:

$('tr').has('td:nth-child(2)');  // at least two

$('tr').has('td:nth-child(2):last-child');  // exactly two
0 голосов
/ 05 декабря 2011

Используйте команду длины. Я придумал это, возможно, вам придется внести небольшие изменения.

$("table").find("tr").each(function() {
    len = $(this).find("td").length;
    if(len == 2) {
        //do stuff
    }
});

http://api.jquery.com/length/

...