Jquery:获取“children”的数组索引不允许进一步使用jquery?

时间:2014-02-06 15:55:16

标签: javascript jquery

我想知道是否有人可以提供帮助,我有一个小问题,我有以下情况,似乎有效

$(element).parent().children('ul').children('li').children('a:first').attr('href')

这会选择第一个li,但我想这样做

$(element).parent().children('ul').children('li')[1].children('a:first').attr('href')

所以我可以传入索引号,但这样做会给我一个错误

TypeError: Property 'children' of object #<HTMLLIElement> is not a function

4 个答案:

答案 0 :(得分:4)

children('li')[1]将返回一个dom对象,因此选择第一项使用eq()方法

$(element).parent().children('ul').children('li').eq(0).children('a:first').attr('href')

答案 1 :(得分:1)

您需要.eq选择器:

$(element).parent().children('ul').children('li').eq(0).children('a:first').attr('href');

eq(0)将选择第一个li元素。

<强> see docs

答案 2 :(得分:0)

当你提供不返回jquery对象的索引时,你需要这样做

 $($(element).parent().children('ul').children('li')[1]).children('a:first').attr('href')

答案 3 :(得分:0)

当您使用first()时,您将获得原始HTML元素。

// returns a jQuery collection of li elements
$('li');

// returns the first item in the collection, which is just an li
$('li').first();

first() documentation

要继续链接jQuery方法,您需要获取第一个项目,而不是原始HTML,而是作为jQuery对象。

// returns the first item in the collection as a jQuery object
$('li').eq(0);

eq() documentation