#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>. Виноват!