【发布时间】:2014-11-02 11:31:32
【问题描述】:
我是 jQuery 新手,所以请帮助我输出。 以下是供参考的HTML代码。
<html>
<body>
<div id="level1">
<p>
<span id="level1.1">
<div id="level1.1.1"></div>
<div id="level1.1.2"></div>
</span>
<span id="level1.2">
<div id="level1.2.1"></div>
<div id="level1.2.2"></div>
</span>
<div id="level1.3"></div>
</p>
</div>
</body>
</html>
当我使用以下脚本时
<script type="text/javascript">
$(document).ready(function (){
var div = $("#level1").find("div").each(function(){
alert($(this).attr('id'));
});
});
</script>
结果是 5 个警报,每个 div 都有 id
但是当我使用时
<script type="text/javascript">
$(document).ready(function(){
var div = $("#level1").find("span > div").each(function(){
alert($(this).attr('id'));
});
});
</script>
级别 1.2.1 和 1.2.2 只有两个警报 我想知道为什么 1.1.1 和 1.1.2 没有警报,因为它们也有作为父母的跨度?
提前致谢。
如果 div 不能是
的子级那为什么是
<p>
<div id="level1">
<span id="level1.1">
<div id="level1.1.1"></div>
<div id="level1.1.2"></div>
</span>
<span id="level1.2">
<div id="level1.2.1"></div>
<div id="level1.2.2"></div>
</span>
<div id="level1.3"></div>
</div>
</p>
工作正常吗??
【问题讨论】:
-
div不能是span的孩子 -
@ArunPJohny 虽然我倾向于同意并补充说 div 也不能是
p标签的子标签,但您对此有什么具体的参考吗?另外为什么后两者是alerted,因为它们也是跨度的孩子? -
@RobSchmuecker 看看渲染的 html jsfiddle.net/arunpjohny/0zrfmmcw/2
-
尝试使用开发者工具查看在浏览器中生成的 HTML。会清晰很多!!!
-
@RobSchmuecker 我想你可以看看 html4 dtd w3.org/TR/html4/sgml/dtd.html#inline
标签: javascript jquery html css each