我试图让jquery调用返回的 n 元素的子元素。例如:
var kids = $('div')[7].children();
但是,我在children()
:
Uncaught TypeError: object is not a function
有人可以解释为什么会这样吗?只要我没有在索引元素上调用它,children()
就可以正常工作。
答案 0 :(得分:5)
这是因为在您指定索引[7]
后它不再是jQuery object。因此,您在DOM元素上调用jQuery方法(这不起作用)。
您可以改为使用.eq()
method:
$('div').eq(7).children();
你也可以使用:
$($('div')[7]).children();
值得指出的是,这会有效,因为DOM元素包含在$()
中 - 从而将其转换为jQuery对象。
答案 1 :(得分:1)
您在javascript对象中使用子方法,即$('div')[7]
。要使用jquery方法,您需要使用jquery对象而不是javascript对象。
使用eq方法:
var kids = $('div').eq(7).children();
答案 2 :(得分:0)
当您使用带有jquery列表的数组语法时,您将获得一个文档节点,而不是一个jquery元素。请改用$('div').eq(7).children()
。