簡體   English   中英

為什么JavaScript中的“ innerHTML”屬性不能是HTML屬性?

[英]Why “innerHTML” property from JavaScript can't be an HTML attribute?

眾所周知,通常使用JavaScript的“ innerHTML”屬性來更改HTML元素的HTML內容。 此“ innerHTML”屬性用於HTML元素對象,例如( document.getElementById("demo").innerHTML = 5 + 6;

我的疑問是為什么“ innerHTML”屬性不能在任何HTML元素中用作屬性?

據我了解和理解,屬性和屬性具有相同的語義。

那么,為什么下面的代碼不能正常工作?

<p id="demo" innerHTML="Jumbo"></p>

因為並非DOM元素上的所有JavaScript屬性都等同於屬性。

.innerHTML提供了一種獲取或設置start和end標記之間的內容的方法。 因此,如果您想把東西放在那里,就把它放在那里:

<p id="demo">Jumbo</p>

編輯:為了在下面回答您的問題,DOM是代碼中HTML的概念性表示(在本例中為JavaScript),因此DOM元素是一個JavaScript對象,您可以使用它訪問和操作HTML元素(元素是其中的一部分的HTML文檔以標記開頭和結尾,因此<b><span>Hello!</span></b>包含兩個元素,一個b元素和一個span元素。

要使用.innerHTML獲取元素的內容,您要做的就是在表達式中訪問它,而不是為其分配值。

例:

 var d = document.getElementById('myDiv'); console.log(d.innerHTML); // <em>Jumbo</em> 
 <div id="myDiv"><em>Jumbo</em></div> 

<div innerHTML="<p>example text</p>"></div>

<div> <p>example text</p> </div>


<div innerHTML="<p>replaceer</p>"> <p>replace this</p> </div>

不知道為什么有人會使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM