如何在jquery中选择一个元素及其子元素?

时间:2013-08-12 13:05:49

标签: javascript jquery

我有一个包含更多div的div。这些div内部包含table / div。 如何在jquery中选择这个父div及其子节点?父div具有“AccordionTitle AccordionTitle-selected”类

我试过以下

var klo=$(".AccordionTitle.AccordionTitle-selected").contents()

var klo=$(".AccordionTitle.AccordionTitle-selected").children().clone()

但它只选择父div及其子。它不会深入到root.I使用jquery 1.9.0

由于

5 个答案:

答案 0 :(得分:6)

您可以使用,分隔符来选择多个查询。这样的事情应该做。

var klo=$(".AccordionTitle.AccordionTitle-selected, .AccordionTitle.AccordionTitle-selected > *")

这将选择元素本身以及元素本身在DOM树中的元素

如果您正在寻找一个解决方案来查找子元素,那么这样的事情就会发生。

var klo=$(".AccordionTitle.AccordionTitle-selected, .AccordionTitle.AccordionTitle-selected *")

原则是一样的,只是现在你省略了>运算符,它只允许原始节点下面的子项。

答案 1 :(得分:3)

尝试.addBack()

var klo=$(".AccordionTitle.AccordionTitle-selected").children().addBack()

答案 2 :(得分:3)

使用find()代替children()

children():仅检索单个后代子项。

find("*"):它将检索所有后代元素。

*:通用选择器。

var klo=$(".AccordionTitle.AccordionTitle-selected").find('*');

答案 3 :(得分:2)

您可以使用find('*')选择所有后代元素,然后addBack将父级添加回选择中。如果克隆是你想要的变量,那么我最后也包括了clone

var klo=$(".AccordionTitle.AccordionTitle-selected").find('*').addBack().clone();

答案 4 :(得分:0)

var klo = $(".your.classes, .your.classes div");