为了账号安全,请及时绑定邮箱和手机立即绑定

为什么下面的一段代码两个输出结果不一样啊,都用的html()

为什么下面的一段代码两个输出结果不一样啊,都用的html()

momoyy123 2016-04-27 10:17:21
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Document</title></head><body><div class="n1">12345<div>abc</div></div><p>12345<div>abc</div></p><script src="js/jquery-1.11.3.min.js"></script><script>var cont1 = $(".n1").html();var cont2 = $("p").html();console.log(cont1);console.log(cont2);</script></body></html>
查看完整描述

1 回答

已采纳
?
qq_青枣工作室_0

TA贡献446条经验 获得超754个赞

这个提问非常好!

P标签里面不能放块级元素,就是P里面不能放DIV的。

当一个<p>签还没结束时,遇到下一个块元素就会把自己结束掉,其实浏览器是把

<p>12345<div>abc</div></p>

处理成这样:

<p>12345</p>
<div>abc</div>
<p></p>

所以,$("p").html()就会取第一个p的html,即12345。

查看完整回答
4 反对 回复 2016-04-27
  • momoyy123
    momoyy123
    可是还有哪些标签里不能放块级元素
  • qq_青枣工作室_0
    qq_青枣工作室_0
    好像就只有<p>特殊。另外,h1~h6是不能相互嵌套。<h1>大标题<h3>小标题</h3></h1>,会变成<h1>大标题</h1><h3>小标题</h3>
  • 1 回答
  • 0 关注
  • 1336 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信