Ответ 1
$('#attached_deals_tab li.active');
<ul id="attached_deals_tab" class="nav nav-tabs">
<li class="active">
<a data-toggle="tab" href="#Test1">Test1</a>
</li>
<li class="">
<a data-toggle="tab" href="#Test2">Test2</a>
</li>
</ul>
С помощью jquery, как это, я мог бы сказать, чтобы получить все элементы списка:
$('#attached_deals_tab li');
Но как я могу сказать, покажите мне только li
, у которого есть class="active"
? В одной строке, пожалуйста.
Я знаю, как его отменить:
$('#attached_deals_tab li:not(.active)');
Но не наоборот...
$('#attached_deals_tab li.active');
Это должно сделать это, синтаксис такой же, как и в CSS:
$('#attached_deals_tab li.active');
Вы можете просто использовать класс, как только был указан идентификатор ul
:
$("#attached_deals_tab .active");
Если у вас есть что-то отличное от li
и что что-то тоже применяется, класс active
, который был бы странным.
Простой, do
$('#attached_deals_tab li.active').(...)
Вы должны использовать дочерний селектор, чтобы подготовить код для возможных будущих вложенных списков:
$('#attached_deals_tab > .active')
Он выберет только прямых детей. Согласно спецификации, ul
может содержать только теги li
в качестве своих дочерних элементов, поэтому при использовании дочернего селектора .active
должно быть достаточно, не нужно указывать li.active
.
Вложенными списками я имею в виду что-то вроде этого:
<ul id="attached_deals_tab">
<li class="active"></li>
<li></li>
<li>
<ul>
<li class="active"></li>
<li></li>
</ul>
</li>
</ul>
Чтение документации на селекторах jQuery также поможет.