jQuery — выбрать вторую строку в таблице?

#jquery #jquery-selectors

#jquery #jquery-селекторы

Вопрос:

Как мне настроить таргетинг на вторую <tr> строку в таблице с помощью jQuery? Использовать ли мне .closest или nth-child ?

 // something like this..
var MyLocation = $('.myclass').closest('tr').after('tr');   // fixed


<table class ='myclass'>
<tr>
  <td></td>
</tr>
   <!-- put some thing here -->
<tr>

</tr>
  

Комментарии:

1. Также убедитесь, что вы используете $(‘.myclass’) с точкой перед именем класса вместо $(‘myclass’). Без точки вы бы искали элемент с именем <myclass>

Ответ №1:

 $('.myclass tr').eq(1)
  

Это приведет ко захвату второй строки.

Комментарии:

1. 1 за этот ответ, потому что он, безусловно, самый быстрый. jsperf.com/jquery-eq-vs-first-vs-sel-eq-0

2. что, если я хочу найти 1 и 2?

3. @blackhawk Я бы сделал два вызова.

Ответ №2:

Используйте селектор n-го дочернего элемента. Смотрите http://api.jquery.com/nth-child-selector /

 $('.myclass tr:nth-child(2)')
  

Ответ №3:

Используйте :first селектор в сочетании с insertAfter() функцией:

 $("TheElementToInsert").insertAfter(".myClass tr:first");
  

Комментарии:

1. Я не думаю, что он хочет добавить <tr>, хотя. Это больше похоже на то, что он пытается добраться до существующей второй <tr>.

2. @Zak, я бы не согласился, основываясь на <!-- put some thing here --> после первого tr в OP.

3. О, простите! Я не обратил достаточно пристального внимания на то, где это было. Я прочитал это как находящееся между тегами <tr> и </tr>. Виноват!