Javascript Jquery这是正确的方法吗?
我正在尝试根据条件动态插入一个.js文件。但这是行不通的。谁能告诉我这里有什么问题吗 我想您正在寻找getScripturl:Javascript Jquery这是正确的方法吗?,javascript,jquery,Javascript,Jquery,我正在尝试根据条件动态插入一个.js文件。但这是行不通的。谁能告诉我这里有什么问题吗 我想您正在寻找getScripturl: 看起来您是在DOM中存在脚本之前解析和执行脚本的。在$document.ready上执行函数,或者重新排列它,使脚本标记在执行之前就在那里 <script type="text/javascript"> if (SOMECONDITION) { $("#scriptD").attr("src", "../../Scri
看起来您是在DOM中存在脚本之前解析和执行脚本的。在$document.ready上执行函数,或者重新排列它,使脚本标记在执行之前就在那里
<script type="text/javascript">
if (SOMECONDITION) {
$("#scriptD").attr("src", "../../Scripts/A.js");
} else {
$("#scriptD").attr("src", "../../Scripts/B.js");
}
</script>
<script id="scriptD" src="" type="text/javascript"></script>
一种方法是使用 此外,如果您将脚本放在元素之后,您的方法将起作用
这是因为在元素之前调用脚本时,该脚本将无法在DOM上找到scriptD。您可能需要尝试以下操作:
<script id="scriptD" src="" type="text/javascript"></script>
<script type="text/javascript">
if (SOMECONDITION) {
$("#scriptD").attr("src", "../../Scripts/A.js");
} else {
$("#scriptD").attr("src", "../../Scripts/B.js");
}
</script>
要更改src的脚本必须存在,然后才能对其属性进行任何更改。
或者,您可能希望尝试这种方式-不使用空的src脚本:
<script type="text/javascript" id="scriptD" src=""></script>
<script type="text/javascript">
(function () {
if (SOMECONDITION) {
$("#scriptD").attr("src", "../../Scripts/A.js");
} else {
$("#scriptD").attr("src", "../../Scripts/B.js");
}
})();
</script>
错误控制台向您展示了什么?也许您应该将整个scriptD标记附加到头部;什么条件?$。getScripta.js:$.getScriptb.js@yaponyal,当然,更短的是$.getScriptSOMECONDITION?”a、 js':'b.js';未经考验的他
<script id="scriptD" src="" type="text/javascript"></script>
<script type="text/javascript">
if (SOMECONDITION) {
$("#scriptD").attr("src", "../../Scripts/A.js");
} else {
$("#scriptD").attr("src", "../../Scripts/B.js");
}
</script>
<script type="text/javascript" id="scriptD" src=""></script>
<script type="text/javascript">
(function () {
if (SOMECONDITION) {
$("#scriptD").attr("src", "../../Scripts/A.js");
} else {
$("#scriptD").attr("src", "../../Scripts/B.js");
}
})();
</script>
<script type="text/javascript">
(function () {
var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", "../../Scripts/" + (SOMECONDITION ? "A" : "B") + ".js");
document.getElementByTagName(head)[0].appendChild(script);
})();
</script>