为什么紧跟在
标签之后的新行没有出现在 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>
表明与 div 标签后的换行符不同,前置标签后的换行符似乎不在 dom 中。而且整个innerHTML在pre-tag后没有显示换行。
有没有办法在 JS 中找出原始 HTML 文档是否在
之后包含换行符?
最佳答案
因为那是 what the spec says to do :
Note: In the HTML syntax, a leading newline character immediately following the
pre
element start tag is stripped.
所以如果你想在那里换行,有点违反直觉,你必须添加一个额外的:Example
<pre id="mypre">
hello
pre
world
</pre>
旁注:我强烈建议始终包含一个文档类型,即使是在您问题中的简短示例中也是如此。它可以产生影响(尽管我认为在这种情况下不会产生影响)。
关于javascript - 为什么 pre 标签后的换行符消失了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23969607/