Ret*_*mür 4 html javascript dom
为什么紧跟在<pre>标记之后的新行不会出现在DOM中?
<html>
<body>
<div id="mydiv">
hello
div
world
</div>
<pre id="mypre">
hello
pre
world
</pre>
<script>
alert("div content: "+document.getElementById("mydiv").innerHTML)
alert("pre content: "+document.getElementById("mypre").innerHTML)
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
显示与div-tag之后的换行符不同,预标记后的换行符似乎不在dom中.此外,整个身体的innerHTML在预标签后没有显示换行符.
如果原始HTML文档在<pre>之后包含换行符,有没有办法在JS中找到?
因为这是规范所要做的:
注意:在HTML语法中,将
pre删除紧跟元素开始标记之后的前导换行符.
因此,如果你想要那个换行符,有点违反直觉,你必须添加一个额外的换行符:例子
<pre id="mypre">
hello
pre
world
</pre>
Run Code Online (Sandbox Code Playgroud)
附注:我强烈建议您始终包含doctype,即使是在您的问题中的简短示例中也是如此.它可以有所作为(虽然我不认为它在这种情况下).