![](/img/trans.png)
[英]Why can't I update HTML list item with Javascript innerHTML property?
[英]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.