2014-09-23 3 views
0

Уникальный селекторкак получить уникальный селектор в JQuery

#reg > table:nth-child(2) > tbody:nth-child(1) > tr:nth-child(7) > td:nth-child(1) 

Я хочу использовать InsertAfter() для добавления элементов после этого селектора.

+1

Это ** очень ** хрупкий селектор. Почти наверняка стоит добавить какую-то идентификационную разметку, чтобы вы могли нацелиться, возможно, на '$ ('# reg'). Find ('. Results tr.result')' вместо этого, тогда у вас есть гораздо больше свободы для изменения HTML вниз если вам нужно. Совмещение вашего JS с HTML настолько сильно, что это может означать необходимость переписывания – Joe

+0

Как часто вы получаете таблицу с несколькими элементами 'tbody'? просто 'tbody'. Также ': first', как правило, является более читаемым вариантом: nth-child (1) –

ответ

0
$('<div/>').insertAfter('#reg > table:nth-child(2) > tbody:nth-child(1) > tr:nth-child(7) > td:nth-child(1)'); 
1
$('#reg > table:nth-child(2) > tbody:nth-child(1) > tr:nth-child(7) > td:nth-child(1)').after(yourdata) 

Вы можете сделать это, но это не оптимизировано селектор JQuery ... Infact это может быть один из худших исполнительства. Проверить это http://learn.jquery.com/performance/optimize-selectors/

Если бы я тебя, я бы прикрепить класс к каждой строке, а затем, возможно, я мог бы сделать так:

$('.myrow').find('td').eq(index); 

или вы можете использовать document.querySelector('.myRow > td:nth-child(index)');

Смежные вопросы