我想知道是否有人可以提供帮助,我有一个小问题,我有以下情况,似乎有效
$(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
答案 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();
要继续链接jQuery方法,您需要获取第一个项目,而不是原始HTML,而是作为jQuery对象。
// returns the first item in the collection as a jQuery object
$('li').eq(0);