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

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

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

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

但是,关于 children():

我一直收到这个错误

Uncaught TypeError: object is not a function

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

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

使用eq方法:

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

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

您可以改用 .eq() method

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

您还可以使用:

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

值得指出的是,这是可行的,因为 DOM 元素包含在 $() 中 - 从而将其变成 jQuery 对象。

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