Ric*_*ett 4 jquery dom-traversal
当使用jQuery for DOM遍历时,这两个返回相同的结果(我相信):
$("whatever").find(".foo .bar")
$("whatever").children(".foo").children(".bar")
Run Code Online (Sandbox Code Playgroud)
哪个更好用?
它们不等同,我将在下面解释,但如果调整它们以匹配,.children()为了速度,.find()为了简洁(Sizzle中的额外工作,为初学者解析这个),你决定哪个更重要.
第一个有不同的结果,但如果你知道他们是孩子,你可以这样做:
$("whatever").find("> .foo > .bar")
//equal to...
$("whatever").children(".foo").children(".bar")
Run Code Online (Sandbox Code Playgroud)
这相当于你的第二个功能.目前,第一个就像你拥有它会发现:
<whatever>
<div class="foo">
<span>
<b class="bar">Found me!</b>
</span>
</div>
</whatever>
Run Code Online (Sandbox Code Playgroud)
第二个不会,它要求.foo成为直接的孩子,whatever并且.bar要成为其中的直接孩子,.find(".foo .bar")允许他们处于任何层次的深度,只要.bar在其后代.foo.
| 归档时间: |
|
| 查看次数: |
264 次 |
| 最近记录: |