我已经在javascript中看似基本的任务失败了 - 用脚本改变了div的内容。请帮我理解我哪里错了。这是一个对我不起作用的最小例子:
<!DOCTYPE html>
<html>
<head>
<script>
document.getElementById('id').innerHTML = "test";
</script>
</head>
<body>
<div id="id" >blub</div>
</body>
</html>
答案 0 :(得分:2)
问题是你在完全加载div部分之前编写了JavaScript代码。要修复此更改,请将代码编码为:
<!DOCTYPE html>
<html>
<head>
<script>
function changeDiv()
{
document.getElementById('id').innerHTML = "test";
}
</script>
</head>
<body onload="changeDiv();">
<div id="id" >blub</div>
</body>
</html>
onload事件只会在html完全加载时触发。
答案 1 :(得分:1)
File "/home/yangzhao/anaconda3/lib/python3.5/site-packages/numpy/core/numeric.py", line 474, in asarray
return array(a, dtype, copy=False, order=order)
TypeError: float() argument must be a string or a number, not 'Point'
将你的脚本放在div之后。
答案 2 :(得分:1)
HTML文件从html的顶部到底部加载。
在您的示例中,javascript在DOM中存在<body>
标记之前执行。
将javascript移动到相关html下方,使其按预期工作。
另一种选择是将脚本保留在<head>
内但延迟执行直到加载DOM
window.onload = function() {
document.getElementById('id').innerHTML = "test";
};
https://developer.mozilla.org/en/docs/Web/API/GlobalEventHandlers/onload
<!DOCTYPE html>
<html>
<head></head>
<body>
<div id="id" >blub</div>
<script>
document.getElementById('id').innerHTML = "test";
</script>
</body>
</html>
答案 3 :(得分:0)
当html完全加载时,你需要使用window.onload来调用你的代码:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="id" >blub</div>
<script>
document.getElementById('id').innerHTML = "test";
</script>
</body>
</html>
答案 4 :(得分:0)
你的Dom没有被加载..把你的脚本标签放在
之前的末尾答案 5 :(得分:0)
只需在关闭正文之前添加脚本标记即可。它会起作用。
答案 6 :(得分:0)
你必须在div-Tag之后编写Javascript。首先需要加载DOM,然后才能更改DIV内的内容。
将您的Javascript放在结束标记
之前