javascript更改innerhtml

时间:2010-02-12 20:11:02

标签: javascript innerhtml

好吧我是javascript的新手,但我试图更改div标签的innerhtml,继承我的脚本,它不起作用:

<head>
<script type="text/javascript">
function var1() {
document.getElementById('test').innerHTML = 'hi';
}
window.onLoad = var1();
</script>
</head>
<body>
<div id="test">change</div>
</body>

它应该有效,但由于某些原因它没有,任何帮助?

7 个答案:

答案 0 :(得分:18)

您当前正在调用该函数并存储其结果,而不是将var1分配给window.onload。此外,这可能是显而易见的,但var1似乎是函数的奇怪名称。试试这个:

function var1() {
  document.getElementById('text').innerHTML = 'hi';
}

window.onload = var1;

请注意onload的大小写,以及var1后的缺失括号。

答案 1 :(得分:6)

使用.innerHTML non-standard,是一种可怕的做法,原因有很多。您应该使用适当的标准方法创建一个新元素,并将其添加到您想要的树

答案 2 :(得分:5)

正确的:

window.onload = var1;
window.onload的示例值中的

undefined,因为函数var1不返回任何内容(undefined)。您应该将onload属性设置为函数var1,而不是调用函数var1()

的结果

答案 3 :(得分:1)

你得到一个id为“test”的元素,但你的html中没有带有该id的元素。然而,有一个叫做“文本”。

答案 4 :(得分:1)

如果在“onLoad”中将大写“L”更改为小写“L”,则可以使用您的示例,并删除当前有 window.onLoad = var1(); 的var1之后的括号

答案 5 :(得分:0)

尝试将onLoad更改为onload。

function var1() {
  document.getElementById('test').innerHTML = 'hi';
}
window.onload = var1; // onload

答案 6 :(得分:0)

以下是另一个更简单的版本

<body>
 <div id="test">change</div>
  <script type="text/javascript">
   document.getElementById('test').innerHTML = 'hi';
 </script>
</body>