.children()不能在指定的jquery返回索引上工作

时间:2015-02-10 21:28:08

标签: javascript jquery uncaught-typeerror

我试图让jquery调用返回的 n 元素的子元素。例如:

var kids = $('div')[7].children();

但是,我在children()

方面一直收到此错误

Uncaught TypeError: object is not a function

有人可以解释为什么会这样吗?只要我没有在索引元素上调用它,children()就可以正常工作。

3 个答案:

答案 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()