Прототип эквивалента метода jQuery eq



Задан следующий html-код:



<ul id="fun">
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
</ul>


Я могу выбрать третий li в jquery следующим образом:



$('#fun li').eq(2);


В прототипе я знаю, что могу сделать что-то вроде:



$("fun").select('li').each(function(i,v){
if(v == 2){/*do whatever*/}
});


Итак, я спрашиваю, есть ли у prototype такой метод, как jquerys eq, который позволяет выбрать особенно индексированный элемент в массиве элементов?



Спасибо

582   3  

3 ответов:

Вот некоторые другие способы

$('fun').down(2);
//for the 2nd child of #fun no matter what element

Или

$('fun').down('li',2)
//for the 2nd child <li> element

И вам не нужно оборачивать результат в другой $(), потому что результат элемента уже расширен, и метод down() возвращает только один элемент, поэтому вам не нужно добавлять индекс массива [2]

Http://api.prototypejs.org/dom/Element/prototype/down/

Похоже, вы, ребята, забыли о $$:

$$('#fun li')[2]

Скрипка

$('#fun li').eq(2);

Эквивалентно:

$($('#fun li')[2]);

Таким образом, вы можете использовать собственный javascript для достижения этой цели.

$($("fun").select('li')[2]).whatever

Comments

    Ничего не найдено.