这可能是一个愚蠢的问题,但我实际上从未做到过,而我尝试的方法却没有用。
我有2个文件
test.html
test.js
我正在将js作为外部链接在test.html中
<!doctype html>
<html>
<head>
<script type="text/javascript" src="test.js"></script>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
</body>
</html>
在我的js文件中,我有类似的东西
document.appendChild('<div>testing</div>')
我也尝试过
document.getElementsByTagName('body').appendChild('<div>testing</div>')
我做错了什么?我只想学习如何从外部js文件为我正在从事的未来项目生成html。
答案 0 :(得分:3)
通常,您应该尝试运行依赖于文档解析后的页面 的脚本,而不是之前的脚本-如果将脚本放入<head>
并立即运行,则{ {1}}尚未创建。给您的脚本标签添加<body>
属性,使其仅在文档完全解析后运行:
defer
<script defer type="text/javascript" src="test.js"></script>
接受 element 作为参数,而不是字符串
您需要附加到appendChild
而不是body
本身(document
)
如果要附加HTML字符串,请分配/连接到Only one element on document allowed.
属性
分配给.innerHTML
将破坏对内部元素(包括侦听器)的现有引用。为了使侦听器保持活动状态,请改用.innerHTML
:
insertAdjacentHTML