конкретный выбор в JQuery - PullRequest
2 голосов
/ 18 марта 2009

У меня есть таблица с 14 строками таблицы и 3 столбцами данных

Мне нравится выбирать таблицу, в каждой строке только значение столбца # 3

как мне считать, я знаю первый селектор, ребенок ... но как не чистить

$ ('# tableofdata tr td) .getmethethird

Ответы [ 4 ]

6 голосов
/ 18 марта 2009
$("#tableofdata tr td:nth-child(3)")

или просто:

$("#tableofdata tr td:last-child")

Чтобы получить третьего ребенка от этого, есть несколько способов:

$(this).find(":nth-child(3)");

или

$(":nth-child(3)", this);

или просто:

$(this)[2]; // arrays are 0 indexed
1 голос
/ 18 марта 2009

Не уверен, что это будет самый быстрый, но ...

$('#tableofdata tr td + td + td')
0 голосов
/ 18 марта 2009

Проблема с этим решением:

$('#mytable tr').each(function() {
    var customerId = $(this).find("td").eq(2).html();    
});

Это если ваш стол выглядит так:

<table id='mytable'>
  <tr>
    <td>col1</td>
    <td>col2</td>
    <td>15</td>
  </tr>
  <tr>
    <td>col1</td>
    <td>col2</td>
    <td>16</td>
  </tr>    
</table>

Он получит идентификатор первого ряда только из-за способа его построения. Поэтому, если вы хотите получить все идентификаторы, вы должны сделать это:

var customers = new Array();
$('#mytable tr td:nth-child(2)').each(function() {
    customers.push($(this).html()); 
});

Если вы хотите указать конкретный идентификатор клиента в N-й строке, вы должны сделать это:

var customerId = $('#mytable tr').eq(N).find('td').eq(2).html();

Где N будет нулевым индексом нужной вам строки.

0 голосов
/ 18 марта 2009

как насчет этого решения:

$('#mytable tr').each(function() {
    var customerId = $(this).find("td").eq(2).html();    
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...