.children()不适用于jquery返回的指定索引

.children() does not work on specified index of jquery return

本文关键字:索引 返回 jquery 不适用 适用于 children      更新时间:2023-09-26

我正在尝试获取jquery调用返回的第n个元素的子元素。例如:

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

然而,关于children():,我一直收到这个错误

Uncaught TypeError: object is not a function

有人能解释为什么会发生这种情况吗?只要我不在索引元素上调用children(),它就可以正常工作。

这是因为在指定索引[7]后,它不再是jQuery对象。因此,您正在对DOM元素调用jQuery方法(这不起作用)。

您可以使用.eq()方法:

$('div').eq(7).children();

你也可以使用:

$($('div')[7]).children();

值得指出的是,这将起作用,因为DOM元素被封装在$()中,从而将其转换为jQuery对象。

您在javascript对象(即$('div')[7])中使用children方法。要使用jquery方法,您需要使用jquery对象而不是javascript对象。

使用eq方法:

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

当您在jquery列表中使用数组语法时,您会返回一个文档节点,而不是jquery元素。请改用$('div').eq(7).children()