如何在页面加载时使用getElementById
(没有jquery)向目标元素(div)添加文本/元素?
这是我目前的标记:
<html>
<head>
<title>test</title>
<script language="javascript">
/document.getElementById('content').innerHTML = 'Fred Flinstone';
</script>
</head>
<body>
<div id="content">
dssdfs
</div>
</body>
</html>
答案 0 :(得分:0)
最快(尽管不是最好)的方法是将脚本块放在HTML文件的末尾(在您要修改的<div>
之后)。
更好的方法是注册DOM加载通知
如果您希望在页面加载后执行它,那么您需要观察DOM加载的事件。您可以通过在脚本块中订阅DOM加载事件,然后将操作DIV的代码放在事件处理程序中来实现。
棘手的部分是,不同的浏览器可能需要稍微不同的方式来注册以在加载DOM时通知(这是jQuery或不同的库变得有用)
这里有一些关于在加载DOM时注册要调用的回调的不同方法的更多信息。随着更流行的浏览器的现代版本现在变得更符合标准,信息可能有点过时:http://www.javascriptkit.com/dhtmltutors/domready.shtml
答案 1 :(得分:0)
我认为正在发生的事情是您的脚本在文档准备好之前正在执行。尝试将您的javascript放入正文加载事件中。
答案 2 :(得分:0)
<script type="text/javascript">
function dothis()
{
document.getElementByID('content').innerHTML = 'Fred Flinstone';
}
</script>
<body onLoad="dothis()">
...
</body>