无法在 getElementById 返回的对象上调用(或附加函数)onclick 方法

unable to call (or attach a function to)onclick method on an object returned by getElementById

1)

document.getElementById("demo").addEventListener("click", function(){
document.getElementById("demo").innerHTML = "Hello Worl";);

2)

document.getElementById("demo").onclick = function()
{document.getElementById("demo").innerHTML = "HelloWorld!";}

请帮忙。我认为两者都是做同一件事的不同方式。但是第二种方法不行。

您没有添加右括号

document.getElementById("demo").addEventListener("click", function(){
   document.getElementById("demo").innerHTML = "Hello Worl";
);

应该是

document.getElementById("demo").addEventListener("click", function(){
   document.getElementById("demo").innerHTML = "Hello Worl";
});

第二种方法应该可以正常工作,你确定你的页面上有一个正确的元素吗?

这里有一个 fiddle 这个例子

https://jsfiddle.net/wvty8rpc/1/

您可以尝试在Html中添加onclick:

<button value="Some Text" onclick="click()" id="demo"></button>
<script>
function click(){
    document.getElementById("demo").innerHTML="Hello World";
}
</script>

另一种方法:

onload = demo;
function demo() {
     var demo = document.getElementById("demo");
     demo.onclick = click;
}
function click(){
     document.getElementById("demo").innerHTML="Some text";
}

希望对您有所帮助。如果没有留下评论。