示例 2 : 在前方插入节点 示例 3 : 练习-动态加载js 示例 4 : 答案-动态加载js
通过appendChild追加节点。 追加节点一定是把新的节点插在最后面
1. 创建新节点 2. 获取父节点 3. 通过appendChild追加 <div id="parentDiv">
<div id="d1">第一个div</div>
<div id="d2">第二个div</div>
<div id="d3">第三个div</div>
</div>
<script>
function appendDiv(){
var d4= document.createElement("div");
var text = document.createTextNode("第四个div");
d4.appendChild(text);
var parentDiv = document.getElementById("parentDiv");
parentDiv.appendChild(d4);
}
</script>
<button onclick="appendDiv()">追加第4个div</button>
有时候,需要在指定位置插入节点,而不是只是追加在后面。
这个时候就需要用到insertBefore 1. 创建新节点 2. 获取父节点 3. 获取需要加入的子节点 4. 通过insertBefore插入 注: insertBefore的第一个参数是新元素,第二个参数是插入位置 <div id="parentDiv">
<div id="d1">第一个div</div>
<div id="d2">第二个div</div>
<div id="d3">第三个div</div>
</div>
<script>
function insertDiv(){
var d25= document.createElement("div");
var text = document.createTextNode("第二点五个div");
d25.appendChild(text);
var parentDiv = document.getElementById("parentDiv");
var d3 = document.getElementById("d3");
parentDiv.insertBefore(d25,d3);
}
</script>
<button onclick="insertDiv()">在第二和第三之间,插入第二点五个div</button>
传统的加载js文件的办法是这样
<script src="/study/hello.js"></script> 准备一个test3041.js,其内容是: alert("this is test3041.js"); 做一个按钮,当页面打开的时候,并不会加载这个test3041.js,只有在点击了按钮之后,才加载test3041.js
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
<script>
function loadJS(){
var newScript = document.createElement('script');
newScript.src = 'https://how2j.cn/study/test3041.js';
var firstScript = document.getElementsByTagName("script")[0];
firstScript.parentNode.insertBefore(newScript,firstScript);
}
</script>
<button onclick="loadJS()">test3041.js</button>
<script> function loadJS(){ var newScript = document.createElement('script'); newScript.src = 'https://how2j.cn/study/test3041.js'; var firstScript = document.getElementsByTagName("script")[0]; firstScript.parentNode.insertBefore(newScript,firstScript); } </script> <button onclick="loadJS()">test3041.js</button>
HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
问答区域
2024-07-28
通过创建script元素并引用本地路径的实现 js脚本的动态加载
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2024-03-17
动态加载
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2023-01-11
head需要加上head[0]
2021-03-29
动态加载js答案
2020-12-28
答案答案~
提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 13 条以前的提问,请 点击查看
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|