假设我有一个JQuery对象,它具有(或指向)这样的结构:
<div id="parent">
<div id="child1">
<div id="grandchild1">
// ... grandchild can also have children
</div>
// ... and so on of grandchildren
</div>
<div id="child2">
</div>
// .... and so on
</div>
是否有可能像这样从我的对象中获取普通的元素数组(JQuery对象):
['parent', 'child1', 'child2', ..., 'grandchild1', ...]
谢谢
请注意,它不能是类似于$('div〉div'的选择器,因为我已经有了JQuery对象,只有从这个对象中我才需要取东西。
3条答案
按热度按时间70gysomp1#
你可以使用
*
选择器来检索子项和孙项。这些项将以树的顺序返回。然后你可以使用jQuery.toArray()
来获得一个普通的元素数组:下面是一个多余的,但如果你对使用递归迭代 * hierarchy * 更感兴趣的话,它会很有用:
一个二个一个一个
xghobddn2#
可以使用
toArray()
[docs]
方法将jQuery对象转换为Array。...或者
get()
[docs]
方法(如果不向其传递任何参数)。如果我理解错了,您指向的是结构的 root,并且需要获取它的后代,请使用
find()
[docs]
method方法。jQueryhas many traversal methods,允许您从给定点绕过DOM结构。
如果你 * 只是 * 想要孩子和孙子,而不是更深层次的,那么就这样做:
这将为您提供只有2代深度的
div
元素。如果不想将其限制为
div
元素,请执行以下操作:fdbelqdn3#
嘿,伙计,我刚到这里,我也有过类似的大脑放屁。要得到孙子,我建议使用.children()方法: