Как выбрать второй элемент Class с помощью jQuery, работающего с Spock/Geb
Я провел много исследований, чтобы найти ответ на следующие вопросы, но безрезультатно.
У меня есть следующий класс в одном <div>
тег в HTML.
<button type='button' class='btn btn-navbar document-collapse pull-right' data-target='#document_521f7592388723hsjd73hd' data-toggle='collapse'>
И у меня есть еще несколько классов в нескольких других <div>
теги, но они используют то же имя класса.
<button type='button' class='btn btn-navbar document-collapse pull-right' data-target='#document_521f75032f23104747ed753c' data-toggle='collapse'>
По умолчанию первый <div>
расширяется и все остальное <div>
свернуты. Мне нужно быть в состоянии нажать на секунду и показать тебе другие кнопки и элементы управления, которые скрыты.
Я попробовал следующее, но это не сработало.
expandOrderLink(wait:true) { $(".btn.btn-navbar.document-collapse.pull-right:nth-child(2)") }
Есть ли способ, которым мы можем найти все элементы класса с одинаковыми именами и выбрать тот, который нам нужен (в моем случае второй).
Также обратите внимание, что я не могу использовать любые другие атрибуты, так как у меня есть динамическое содержимое с зашифрованной информацией (например, #document_521f75032f23104747ed753c)
4 ответа
Ваш вопрос вводит в заблуждение тем, что вы спрашиваете о том, как выбрать элемент по индексу с помощью jQuery, но в своем примере кода вы используете Geb - я предлагаю вам изменить плитку вашего вопроса. API Geb Navigator не совместим с jQuery, он просто похож на jQuery.
Чтобы выбрать второй элемент в вашем примере, вы можете написать:
expandOrderLink(wait:true) {
$(".btn.btn-navbar.document-collapse.pull-right", 1)
}
Проверьте раздел по индексам и диапазонам в руководстве.
Вы также можете просто получить доступ к элементу, используя оператор индекса:
expandOrderLink(wait:true) {
$(".btn.btn-navbar.document-collapse.pull-right")[1]
}
Попробуй что-нибудь подобное
$(".btn.btn-navbar.document-collapse.pull-right").eq(1);
Если вы хотите всегда выбирать второй элемент, используйте .eq(index)
$("your classs").eq(1);
Попробуй это
$(".btn.btn-navbar.document-collapse.pull-right:eq(2)")