为什么JavaScript中的“innerHTML”属性不能是HTML属性?

时间:2017-05-19 15:19:25

标签: javascript html html5 properties attributes

众所周知,使用JavaScript更改HTML元素的HTML内容“innerHTML”属性是常用的。此“innerHTML”属性用于HTML元素对象,如(document.getElementById("demo").innerHTML = 5 + 6;

我怀疑为什么“innerHTML”属性不能用作任何HTML元素中的属性?

根据我的知识和理解,属性和属性具有相同的语义含义。

那么,为什么下面的代码不起作用?

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

2 个答案:

答案 0 :(得分:1)

因为并非DOM元素上的所有JavaScript属性都等同于属性。

.innerHTML提供了一种获取或设置开始和结束标记之间的内容的方法。所以如果你想把东西放在那里,就把它放在那里:

<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>

答案 1 :(得分:0)

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

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


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

不知道为什么有人会使用它。