Селектор jquery - выбор второго дочернего элемента span внутри каждой строки таблицы - PullRequest
3 голосов
/ 19 июля 2011

У меня есть следующая наценка:

<table>
<thead>
...
</thead>
<tbody>
<tr>
    <td>
      <span class='select_me' id='42'></span>
    </td>
     <td>
      <span class='select_me' id='43'></span>
     </td>
  </tr>
 <tr>
    <td>
      <span class='select_me' id='50'></span>
    </td>
     <td>
      <span class='select_me' id='54'></span>
     </td>
  </tr>
</table>

Как мне выбрать 2-й или 1-й диапазон 'select_me' в каждой строке? Я думаю, что-то вроде этого - я хочу получить идентификатор

$("td").each(function(){
v = $(this).children(".select_me:first").attr("id");
});

но выводит 'undefined', любая помощь будет оценена

Ответы [ 4 ]

7 голосов
/ 19 июля 2011

Вы можете использовать селектор : eq :

$("tr").each(function() {
    var firstId = $("span.select_me:eq(0)", this).attr("id");
    var secondId = $("span.select_me:eq(1)", this).attr("id");
});

Поскольку у вас есть только два <span> элемента в строке, вы также можете использовать селекторы : first и : last :

$("tr").each(function() {
    var firstId = $("span.select_me:first", this).attr("id");
    var secondId = $("span.select_me:last", this).attr("id");
});
2 голосов
/ 19 июля 2011

Для первого -

$("tr").each(function(){
    v = $(this).find("td:nth-child(1) span.select_me").attr("id");  
});

Для второго -

$("tr").each(function(){
    v = $(this).find("td:nth-child(2) span.select_me").attr("id");  
});
1 голос
/ 19 июля 2011

ребенок может помочь: http://api.jquery.com/nth-child-selector/

$("tr td:nth-child(2) span.select_me").attr('id')
1 голос
/ 19 июля 2011

попробуйте это -

 $("td").each(function(){
   first = $(this).find("span.select_me:eq(0)").attr("id");// for first 
   Second = $(this).find("span.select_me:eq(1)").attr("id");// for second 
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...