15

为什么不起作用innerHtml

<script src="jquery.js"></script>
<script type="text/javascript">
function chat()
{
    alert ("started!");
    document.getElementById("test").innerHtml="foo";
}
</script>
<body id="body" onload="chat();">
<p id="test">
test..
</p>
</body>

“开始了!” 正在显示,但 的内容<p>并未foo按预期更改。为什么?

4

4 回答 4

38

外壳很重要,它innerHTML 不是 innerHtml。试试这个:

document.getElementById("test").innerHTML="foo";
于 2013-02-27T19:24:49.140 回答
0

JavaScript 是一种区分大小写的语言,因此您应该始终检查您正在编写的代码的大小写。

尝试使用“innerHTML”代替“innerHtml”。

此外,在 JavaScript 中使用单引号(')而不是双引号(“)是一个好习惯。

于 2013-02-27T19:49:19.237 回答
0

如果您正在处理返回 XML 的 API,那么您可能没有任何 innerHtml。大多数浏览器都支持outerHtml。试试这个

function getHTML(node){
    if(!node || !node.tagName) return '';
    if(node.outerHTML) return node.outerHTML;

    // polyfill:
    var wrapper = document.createElement('div');
    wrapper.appendChild(node.cloneNode(true));
    return wrapper.innerHTML;
}
于 2019-09-07T19:28:17.243 回答
-3

如果您使用的是 mac,请尝试使用

document.getElementById("test").firstChild.nodeValue = "foo";

于 2015-11-17T01:52:41.663 回答