innerHTML在JSFiddle测试项目中不起作用

时间:2014-02-03 18:42:34

标签: javascript onclick innerhtml

编辑:这是JSFiddle的链接:http://jsfiddle.net/retserrof84/aLPPv/3/

所以这绝对是一个愚蠢的问题,但我现在已经在键盘上敲了几个小时。我正在尝试使用innerHTML来改变div的内容,并且它没有做任何事情。这是测试HTML:

<body>
  <div id="hola">
    Hola.
  </div>
  <div>
    <a onclick="changeMe()">Click here.</a>
  </div>
</body>

好的,这是JavaScript:

function changeMe() {
  document.getElementById("hola").innerHTML="Hello!";
}

就是这样。有人可以帮我看看我做错了吗?奇怪的是我在一个更复杂的项目中使用了innerHTML和onclick它运行良好,所以我知道我必须犯一些愚蠢的错误。

我已经搜索了其他答案,我唯一能找到的就是这个函数可能会在ID存在之前以某种方式被调用,但是我已将函数调用与受影响的元素分开,并将其放入函数调用以后,所以我不知道为什么这仍然是一个问题。任何帮助,将不胜感激。

2 个答案:

答案 0 :(得分:6)

你需要注意左侧工具箱选项,你想要你的脚本(头部/ domready等)。

这是有效的:

<body>
  <div id="hola">
    Hola.
  </div>
  <div>
    <a onclick="changeMe()">Click here.</a>
  </div>
</body>

function changeMe() {
  document.getElementById("hola").innerHTML="Hello!";
}

http://jsfiddle.net/59DFY/

答案 1 :(得分:0)

你很可能不会在头脑(或身体)中添加JS文件,这就是为什么它说你的功能没有在小提琴中定义。一定要链接到它。

<head>
  <script src="link-to-file"></script>
</head>