如何在jQuery中从父级中选择所有子级(在任何级别)?

mar*_*zzz 70 html javascript jquery dom

我必须.unbind()从父节点的所有元素.

如何从父母中选择所有孩子(在任何级别)?

试过:

$('#google_translate_element *').unbind('click');
Run Code Online (Sandbox Code Playgroud)

但它只适用于第一个孩子的水平......

这里有一个测试用例

Kon*_*rak 132

使用jQuery.find()查找多个级别的.

.find()和.children()方法类似,只是后者只沿DOM树向下移动一个级别.

$('#google_translate_element').find('*').unbind('click');
Run Code Online (Sandbox Code Playgroud)

你需要'*'find():

与其他树遍历方法不同,在调用.find()时需要选择器表达式.如果我们需要检索所有后代元素,我们可以传入通用选择器'*'来完成此操作.

  • 是的,当然.你应该总是担心性能.现代浏览器执行速度相当快,但如果您遇到此特定代码段的问题,请尝试保持父元素较小(不要太多子元素)或将子元素分组为较小的集合. (3认同)

Nic*_*tti 18

我想你可以这样做:

$('#google_translate_element').find('*').each(function(){
    $(this).unbind('click');
});
Run Code Online (Sandbox Code Playgroud)

但这会造成很多开销