2015-03-26 4 views
-1

мне нужно, чтобы получить индекс элемента, который разделяет класс, что он находится внутри контейнера, пример кода:JQuery элемент .index() положение внутри различных контейнеров

<div id="mycontainer"> 
    <div class="column">Text here</div> 
    <div class="column">Text here</div> 
    <div class="column">Text here</div> 
    <div class="column">Text here</div> 
</div> 
<div id="mycontainer2"> 
    <div class="column">Text here</div> 
    <div class="column">Text here</div> 
    <div class="column">Text here</div> 
</div> 

Я прочитал на API JQuery .index() вы используете его как: $("selector").index(this); Все это прекрасно.

Теперь, если я не знаю длины .column элементов, чтобы остановить подсчет индекса в определенный момент, как я могу узнать первый индекс каждого контейнера, содержащего их? Я имею в виду, 0 для первого столбца, 1-й для второго и 0 для третьего для того, чтобы быть в другом контейнере, 1-й для четвертого.

Мне нужно знать это, потому что, когда мышь входит в колонку, она применяет некоторые стили, сначала один и последний из каждого контейнера, имеющие разные стили. Если у меня есть один контейнер, это не проблема, чтобы знать его, но проблемы возникают, когда их более одного.

ADD

У меня есть класс, который добавляет 15% к ширине. Теперь, если это первый из каждого контейнера, он оставил left: 0%, а если он последний, это left: 85%;. Но, если столбец, который мышь указывает на другой, он добавляет код 15% и сохраняет столбец в центре.

Все это для одного контейнера на странице работает как шарм, но если я добавлю второй, индекс последнего столбца в первом контейнере не является последним индексом класса column, поэтому он не " t добавляет left: 85%;, и то же самое происходит с первым из второго контейнера.

+1

Вы пробовали '$ (this) .index()'? –

+0

Я не уверен, что я прав, но вы хотите что-то вроде этого: http://jsfiddle.net/markai/s03sgrkh/1/? – Markai

+1

На основе разметки в вашем вопросе вы получите '$ (this) .index()' как '0,1,0,1' – lshettyl

ответ

1

Как указано в .index() doc:

Если аргумент не передаются методе .index(), возвращаемое значение представляет собой целое число, указывающее положение первого элемента внутри JQuery объекта по отношению к его родному брату элементы.

Таким образом, просто делая $(this).index() даст вам элементный указатель ammoung его братьев и сестер. Другими словами, его положение ребенка.

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