简体   繁体   English

为什么 innerHtml 不起作用

[英]Why innerHtml doesn't work

Why doesn't innerHtml work?为什么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>

"started," is showing, but the content of <p> doesn't get changed to foo as intended. “started”正在显示,但<p>的内容并未按预期更改为foo Why?为什么?

Casing matters, it's innerHTML not innerHtml . 套管很重要,它是innerHTML 而不是 innerHtml Try this: 尝试这个:

document.getElementById("test").innerHTML="foo";

JavaScript is a Case Sensitive language so you should always check the case of the code you are writing. JavaScript是一种区分大小写的语言,因此您应该始终检查您正在编写的代码的大小写。

Try using "innerHTML" in place of "innerHtml". 尝试使用“innerHTML”代替“innerHtml”。

Also, it is a good practice to use Single Quotes(') instead of Double Quotes(") in JavaScript. 此外,在JavaScript中使用单引号(')而不是双引号(“)是一种很好的做法。

If you're dealing with an API that returns XML then you likely don't have any innerHtml. 如果您正在处理返回XML的API,那么您可能没有任何innerHtml。 Most browsers support outerHtml. 大多数浏览器都支持outerHtml。 Try this 尝试这个

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

You writed with letter lower case in Javascript(innerHtml). 你在Javascript(innerHtml)中写了小写字母。 Use this example: 使用此示例:

document.getElementById("test").innerHTML="foo";

If you are using a mac try using 如果你正在使用mac尝试使用

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM