Селектор jQuery находит все ячейки в строке, кроме заданного индекса - PullRequest
2 голосов
/ 21 декабря 2010

Как заголовок, мне нужно сделать что-то вроде:

$('#myTable').find('td:not(0)'); // all cells except first one

Ответы [ 3 ]

9 голосов
/ 21 декабря 2010

Вы очень близки. Просто используйте :eq().

$('#myTable').find('td:not(:eq(0))');
3 голосов
/ 21 декабря 2010

Полагаю, вы имеете в виду все ячейки в каждой строке, кроме первой.

Если это так, вы можете сделать это.

Пример: http://jsfiddle.net/PDEfJ/

$('#myTable td:not(:nth-child(1))')

или вы могли бы сделать это, что может работать немного лучше:

Пример: http://jsfiddle.net/PDEfJ/1/

var result = $('#myTable tr').map(function() {
    return Array.prototype.slice.call( this.cells, 1 );
});

или это:

Пример: http://jsfiddle.net/PDEfJ/2/

var result = $('#myTable tr').map(function() {
    return $( this.cells ).slice( 1 ).get();
});
0 голосов
/ 21 декабря 2010

В качестве альтернативы, если вы хотите выбрать все ячейки, кроме первой:

$('#myTable tr').each(
    function() {
        $(this).find('td:gt(0)');
    });

Использование :gt() селектора .

JS Fiddledemo

По общему признанию, этот способ менее лаконичен, чем альтернативный подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...