HTML
<div id="a">
<span></span>
<img />
</div>
jQuery的:
var a = $("#a").children().find("img");
显示a.length = 0
。问题是什么?
答案 0 :(得分:6)
使用此:
$("#a").find("img");
find
搜索选择器的后代,<img>
不是<div id="a"
&gt;中任何一个的后代。直接儿童。
find
docs:
描述:获取当前匹配元素集中每个元素的后代,由选择器,jQuery对象或元素过滤。
请注意,您可以使用更高效的选择器获得相同的结果:
$("#a img")...
descendant
选择器docs:
描述:选择作为给定祖先后代的所有元素。
答案 1 :(得分:5)
children 函数获取div的所有子节点,然后 find 尝试查找名为“img”的子节点的后代。显然这不存在。正如gdoron指出的那样,你需要省略children()部分。
如果您不知道,请查看JQuery文档,这是一个非常好的参考: