背景:
当先加载js时,Js文件里面的无法加载后面动态创建的Dom。所以需要重新引入Js文件。(ps:这也是迫不得已,尽量不要出现这种状况)
上代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="./jquery-3.3.1.min.js"></script>
</head>
<body>
<button onclick="reload()">load</button>
<script>
//需要重新加载的js文件列表
var scriptList=[
{src:"./test.js",id:"js1"},
{src:"./test2.js",id:"js2"},
{src:"./test3.js",id:"js3"}
]
function reload() {
scriptList.forEach(x=>{
loadJs(x.src,x.id);
})
}
//重新加载js
function loadJs(file,id)
{
$("#"+id).remove();
$("<scri"+"pt >"+"</scr"+"ipt>").attr({id:id,src:file,type:'text/javascript'}).appendTo($('body'));
}
</script>
<script src="./test.js" type="text/javascript" id="js1"></script>
<script src="./test2.js" type="text/javascript" id="js2"></script>
<script src="./test3.js" type="text/javascript" id="js3"></script>
</body>
</html>