Javascript Jquery这是正确的方法吗?

Javascript Jquery这是正确的方法吗?,javascript,jquery,Javascript,Jquery,我正在尝试根据条件动态插入一个.js文件。但这是行不通的。谁能告诉我这里有什么问题吗 我想您正在寻找getScripturl: 看起来您是在DOM中存在脚本之前解析和执行脚本的。在$document.ready上执行函数,或者重新排列它,使脚本标记在执行之前就在那里 <script type="text/javascript"> if (SOMECONDITION) { $("#scriptD").attr("src", "../../Scri

我正在尝试根据条件动态插入一个.js文件。但这是行不通的。谁能告诉我这里有什么问题吗

我想您正在寻找getScripturl:


看起来您是在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>