【发布时间】:2017-10-19 19:09:05
【问题描述】:
众所周知,使用JavaScript“innerHTML”属性更改HTML元素的HTML内容是常用的。此“innerHTML”属性用于 HTML 元素对象,例如 (document.getElementById("demo").innerHTML = 5 + 6;)
我的疑问是为什么“innerHTML”属性不能用作任何 HTML 元素中的属性?
据我所知和理解,属性和属性具有相同的语义。
那么,为什么下面的代码不能工作?
<p id="demo" innerHTML="Jumbo"></p>
【问题讨论】:
-
JS 中的 HTMLElement 和实际的 HTML Element 是有区别的。
innerHTML是一个 JS DOM 属性。您可以使用document.getElementById("demo").getAttribute('innerHTML')访问该属性——否则,只需将文本放在 段落<p id="demo">Jumbo</p> -
我不确定,但 innerHTML 就像一个函数,它首先删除所有元素的子元素,解析内容字符串并将结果节点分配为元素的子元素。见developer.mozilla.org/en/docs/Web/API/Element/innerHTML
-
JS部分是DOM API规范,HTML5是不同的规范。 “innerHMTL”属性不是 HTML5 规范的一部分。
标签: javascript html properties attributes