/ / Достъп до втория член на класа в jQuery? - javascript, jquery

Достъп до втория член на класа в jQuery? - javascript, jquery

Имам куп диве, които принадлежат към определен клас, казват раздели. и семантичната структура изглежда по следния начин:

<div class = "tabs" >_______</div>
<div class = "tabs" >_______</div>
<div class = "tabs" >_____</div>

Лесно е достъпът до първия и последния елемент на div като

$(".tabs:first") or
$(".tabs:last")

но да стигнем до 2-ра (и ако приемем, че има много други divs вътре тогава всички divs, различни от първата или последната) изглежда да доведе до синтаксис грешка за мен като:

$(".tabs:second") or $(".tabs:third") не очаквайте работа.

Може ли някой да определи какво не е наред тук?

Отговори:

3 за отговор № 1

Разгледайте jQuery :first селекторна документация: http://api.jquery.com/first-selector/

Ще забележите, че това е разширение jQuery и не е част от CSS спецификацията. Също така :first е еквивалентно на :eq(0), това означава, че ако искате да получите втория елемент, можете да го направите :eq(1).

Ако нямате нужда от филтър в CSS селектора, можете просто да получите елемента с .eq метод като този:

$(".tabs").eq(0) // get the first element
$(".tabs").eq(1) // get the second element
$(".tabs").eq(2) // get the third element
$(".tabs").eq(-2) // get the second to last element
$(".tabs").eq(-1) // get the last element

6 за отговор № 2

Опитайте да използвате eq() селектор, забележете, че индексът е на нула:

$(".tabs:eq(1)");

6 за отговор № 3

Има два начина да направите това, като използвате .eq() или метода :eq() селектор.

Методът .eq ():

Начинът, по който документацията на jQuery препоръчва да направите това, е да използвате .eq() метод.

// eq() is zero-based, so this would get the second element
$(".tabs").eq(1)

Една удобна функция е това .eq() също може да отнеме отрицателно число, което причинява функцията да започне от края вместо.

// This would take the second element from the end
$(".tabs").eq(-2);

Селекторът eq ()

jQuery също осигуряват :eq() селектор, който основно работи по същия начин .eq() метод. Така че можете да направите това също:

$(".tabs:eq(1)")

Забележете, че въпреки тази работа, предпочита се да използвате .eq() метод вместо селектора. Методът има по - добро представяне в съвременните браузъри и :eq() селекторът не поддържа отрицателни числа, така че е малко по-ограничен.