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

<!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>


momoyy123
浏览 1337回答 1
1回答

qq_青枣工作室_0

这个提问非常好!P标签里面不能放块级元素,就是P里面不能放DIV的。当一个<p>签还没结束时,遇到下一个块元素就会把自己结束掉,其实浏览器是把<p>12345<div>abc</div></p>处理成这样:<p>12345</p> <div>abc</div> <p></p>所以,$("p").html()就会取第一个p的html,即12345。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript