向DIV标记追加文本/元素

Appending text/elements to a DIV tag

本文关键字:文本 元素 追加 DIV      更新时间:2023-09-26

我如何添加文本/元素的目标元素(div)使用getElementById(没有jquery)时,页面加载?

这是我当前的标记:

<html>
<head>
<title>test</title>
<script language="javascript">

/document.getElementById('content').innerHTML = 'Fred Flinstone';
</script>
</head>
<body>
<div id="content">
dssdfs
</div>

</body>
</html>
<script type="text/javascript">
    function dothis()
    {
        document.getElementByID('content').innerHTML = 'Fred Flinstone';
    }
</script>
<body onLoad="dothis()">
    ...
</body>

我认为发生的事情是你的脚本在你的文档准备好之前执行。尝试将javascript放在body load事件中。

最快的(虽然不是最好的)方法是把你的脚本块放在HTML文件的末尾(在你想修改的<div>之后)

更好的方法是注册DOM加载通知

如果您希望它在页面加载后执行,那么您需要观察DOM加载的事件。您可以订阅脚本块中的DOM加载事件,然后将操作DIV的代码放入事件处理程序中。

棘手的部分是,不同的浏览器可能需要稍微不同的方式来注册,以便在加载DOM时收到通知(这是jQuery或其他库变得有用)

这里有一些关于在加载DOM时注册回调的不同方法的更多信息。这些信息可能有点过时,因为现在流行的浏览器的现代版本已经变得更加符合标准:http://www.javascriptkit.com/dhtmltutors/domready.shtml