好吧我是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>
它应该有效,但由于某些原因它没有,任何帮助?
答案 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>