设置html的src<;脚本>;在javascript中

设置html的src<;脚本>;在javascript中,javascript,html,src,Javascript,Html,Src,我正在尝试使用以下方法设置脚本标记的src属性: document.getElementById("setScript").setAttribute("src","adventures/" + setting + ".js"); “setScript”显然是脚本标记的id,设置变量是更改脚本的参数。我使用以下方法进行测试,以确保实际设置了src: alert(document.getElementById("setScript").getAttribute("src")); 它输出了adve

我正在尝试使用以下方法设置脚本标记的src属性:

document.getElementById("setScript").setAttribute("src","adventures/" + setting + ".js");
“setScript”显然是脚本标记的id,设置变量是更改脚本的参数。我使用以下方法进行测试,以确保实际设置了src:

alert(document.getElementById("setScript").getAttribute("src"));
它输出了adventures/[不管参数是什么].js。当我在html中的src值中准确地键入该值时,它将调用该函数。但是当它在javascript中被更改时,它不会被更改。有人知道为什么会这样吗


提前感谢

只是在黑暗中拍摄,但我假设只有在将元素添加到页面时才会加载脚本

尝试以下方法:

var scr = document.getElementById('setScript');
scr.parentNode.removeChild(scr);
scr.src = "adventures/"+setting+".js";
document.body.appendChild(scr);

如果失败,那么您需要创建一个新的脚本元素,设置其源代码,然后附加该元素。

为了加载一个新的javascript文件,您必须使用src集创建一个新的脚本元素,然后将其添加到html中,例如将其附加到head元素

var script = document.createElement("script");
script.src = "/somescript.js";

var head = document.getElementsByName("head")[0];
head.appendChild(script);

这是有道理的,谢谢。我没想过要试一下。那似乎也不管用,不过还是要谢谢你。