为什么javascript会覆盖Html代码?

Why does javascript overwrite Html codes

本文关键字:代码 Html 覆盖 javascript 为什么      更新时间:2023-09-26

我刚刚开始学习javascript,我的问题是关于javascript的非常基本的问题,但我必须学习它背后的逻辑。

   <p id="demo">This is a paragraph.</p>
  <script type="text/javascript">
   document.getElementById("demo").innerHTML=Date();
  </script>

使用这些代码,浏览器上只显示日期,而浏览器忽略"这是一个段落"。浏览器不应该先写"这是一个段落",然后在显示日期下面吗?在同一类意味着,javascript重写同一类的每个标签?由于

innerHTML 用您指定的任何HTML替换。如果您想要追加,您需要首先获取那里的内容。像这样:

var myTag = document.getElementById("demo");
myTag.innerHTML = myTag.innerHTML + Date();

元素的innerHTML属性表示其全部内容。当您为其分配新值时,您将替换整个内容。这听起来像你想使用+=而不是=,所以你附加到现有的字符串,而不是替换它。

innerHTML将调用它的元素中的文本替换为传递给它的内容,因此"This a paragraph"将被date的值替换。

试试这个:

document.getElementById("demo").innerHTML = 
  document.getElementById("demo").innerHTML + Date();

浏览器不应该先写"这是一个段落",然后在显示日期下面吗?

似乎你想要一个换行,然后是日期。

这样做可以在不破坏现有内容的情况下完成:

var demo = document.getElementById("demo");
demo.appendChild( document.createElement( 'br' ) );
demo.appendChild( document.createTextNode( Date() ) );