【发布时间】:2011-03-11 19:16:39
【问题描述】:
据我所知,jQuery中有多种选择子元素的方法。
//Store parent in a variable
var $parent = $("#parent");
方法一 (通过使用范围)
$(".child", $parent).show();
方法二 (find()方法)
$parent.find(".child").show();
方法 3 (仅限直系子女)
$parent.children(".child").show();
方法 4 (通过 CSS 选择器) - @spinon 建议
$("#parent > .child").show();
方法5 (与方法2相同) - 根据@Kai
$("#parent .child").show();
我不熟悉能够自己调查此问题的分析,所以我很想看看你有什么要说的。
附:我知道这可能与 this question 重复,但它并未涵盖所有方法。
【问题讨论】:
-
另外,@spinon - 仅适用于直系子女吗? CSS 规范说“匹配作为元素 E 的子元素的任何 F 元素。”
-
你不必担心哪个更快(除非你正在做一个非常大的 dom 操作)...... jQuery 的构建速度非常快......
-
我有一个 2MB 的 HTML 文件,不要问如何或为什么 :)
-
是的。仅限第一级后代。
-
还有一种方法。 $("#parent .child").show();这与 #2 的方式相同。 :)
标签: jquery performance jquery-selectors profiling