据我所知,有许多方法可以选择jQuery中的子元素。//Store parent in a variable var $parent = $("#parent");方法1 (通过使用范围)$(".child", $parent).show();方法2 (find()方法)$parent.find(".child").show();方法3 (仅对于直系子女)$parent.children(".child").show();方法4 (通过CSS选择器) -@spinon建议$("#parent > .child").show();方法5 (与方法2相同) -根据@Kai$("#parent .child").show();我不熟悉能够自己进行调查的配置文件,因此,我很乐意看到您要说的话。附言:我知道这可能是这个问题的重复,但并未涵盖所有方法。
3 回答
Cats萌萌
TA贡献1805条经验 获得超9个赞
方法1
使用jQuery不能更短和更快。此调用直接进入$(context).find(selector)
(方法2,由于优化),进而调用getElementById
。
方法二
这样做是一样的,但是没有一些不必要的内部函数调用。
方法3
using children()
比using快find()
,但是,当然,它children()
只会找到根元素的直接子元素,而find()
会自上而下地搜索所有子元素(包括子子元素)
方法4
使用这样的选择器,必须慢一些。由于sizzle
(这是jQuery的选择器引擎)从右到左起作用,因此它将.child
首先匹配所有类,然后再查找它们是否是id'parent'的直接子代。
方法5
正确地说$(context).find(selector)
,由于jQuery
函数内的某些优化,此调用也将创建一个调用,否则也可能会经过(slower)sizzle engine
。
添加回答
举报
0/150
提交
取消