用原生js怎么动态添加一个js文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用原生js怎么动态添加一个js文件相关的知识,希望对你有一定的参考价值。

如果需要用原生js动态的加载另外一个js文件,可以使用原生js的document.createElement方法创建script节点,然后更改该节点的type和src属性,最后通过appendChild方法将该节点动态添加到html中,这样就可以了,参考代码如下:
var new_element = document.createElement("script");//创建新的script节点new_element.setAttribute("type", "text/javascript");new_element.setAttribute("src", "../js/jquery.js");document.body.appendChild(new_element);//添加到body节点的末尾
上例中是在body的最末尾添加的,当然同样可以在head中添加引用该js的标签:document.head.appendChild(new_element);
参考技术A

如果需要用原生js动态的加载另外一个js文件,可以使用原生js的document.createElement方法创建script节点,然后更改该节点的type和src属性,最后通过appendChild方法将该节点动态添加到html中,这样就可以了,参考代码如下:

var new_element = document.createElement("script");//创建新的script节点
new_element.setAttribute("type", "text/javascript");
new_element.setAttribute("src", "../js/jquery.js");
document.body.appendChild(new_element);//添加到body节点的末尾

上例中是在body的最末尾添加的,当然同样可以在head中添加引用该js的标签:document.head.appendChild(new_element);

原生js怎么为动态生成的标签添加各种事件

这几天用zepto.js写了不少事件,突然想到一个问题,那就是原生的js如何给动态生成的标签添加事件?因为这些标签都是后来通过ajax或者运行其他点击事件生成的,那么如果之前给他们写事件他们这个dom对象是找不到的,jq通过事件委托解决了这个问题,但是原生js这个问题该怎么解决呢?我在网上查了很多资料,好像只有一种办法,那就是在生成标签并把标签添加到html结构中后再添加对于这个新标签的各种事件,如果有更好的方法,欢迎提出来。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <div id="a">我是初始就有的div </div>
</body>
<script type="text/javascript">
window.onload = function () {

    var myp = document.createElement(p);
    document.getElementById(a).appendChild(myp);
    alert(document.getElementsByTagName(p)[0])
    myp.innerHTML = 我是新建的p标签;
document.getElementsByTagName(p)[0].onclick = function(){
        alert(我是p的点击事件)
    }

}
</script>
</html>

 

以上是关于用原生js怎么动态添加一个js文件的主要内容,如果未能解决你的问题,请参考以下文章

原生js动态添加script标签

js里面怎么动态的为对象添加属性

swipe.js怎么动态添加滑动元素

原生js代码挑战之动态添加双色球

用js实现动态添加表格数据

想在一个div里面添加图片,用js怎么写啊?