2

给定以下html代码:

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

我可以像这样在 jquery 中选择第三个 li:

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

在原型中,我知道我可以做类似的事情:

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

所以我要问的是原型是否有像 jquerys eq 这样的方法,它允许您在元素数组中选择一个特别索引的元素?

谢谢

4

3 回答 3

4

这里有一些其他的方法

$('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/

于 2013-09-09T14:06:34.850 回答
2

好像你们忘记了$$

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

Fiddle

于 2013-09-09T14:12:43.623 回答
1
$('#fun li').eq(2);

相当于:

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

因此,您可以使用本机 javascript 来完成此操作。

$($("fun").select('li')[2]).whatever
于 2013-09-05T16:08:44.753 回答