Javascript 为什么我看不到HTML<;h3>;使用innerHTML或innerText时控制台输出中的标记?

Javascript 为什么我看不到HTML<;h3>;使用innerHTML或innerText时控制台输出中的标记?,javascript,html,innerhtml,getelementbyid,Javascript,Html,Innerhtml,Getelementbyid,consoleouttext=document.getElementById('phrase2').innerText consoleoutputtml=document.getElementById('phrase2').innerHTML console.log(consoleouttext) console.log(consoleoutputtml) 此**[语句][1]**在浏览器控制台中填充。 不能是的后代 所以你的HTML是不正确的 因此,浏览器会更改文档的结构: 因此,浏览器取出,

consoleouttext=document.getElementById('phrase2').innerText
consoleoutputtml=document.getElementById('phrase2').innerHTML
console.log(consoleouttext)
console.log(consoleoutputtml)

此**[语句][1]**在浏览器控制台中填充。

  • 不能是
    的后代
  • 所以你的HTML是不正确的
  • 因此,浏览器会更改文档的结构:
  • 因此,浏览器取出
    ,并将
    一分为二
  • 所以您的实际文档结构发生了变化

    • …由此(每个DOM节点,包括
      #text
      节点,都位于自己的行上):

  • 由于默认情况下,
    元素被设置为块级元素的样式,因此会在呈现的页面中导致换行

  • 另外,不要使用
    innerText
    ,而是使用
    textContent

您不能将
嵌套在
中。相关:@SebastianSimon Correct-感谢您纠正我的错误,我现在将更新我的答案。
<p id='phrase2'>
This **[
<h3>statement</h3>
][1]**
<b>populates</b>
in browser Console.
</p>
<p id='phrase2'>This **[</p>
<h3>statement</h3>
"][1]**
<b>populates</b> in browser Console.
<p></p>