如何将jQuery脚本附加到head标签

时间:2015-11-30 17:40:33

标签: javascript jquery

当窗口大小小于580px时,我试图在我的head标签中附加一个带有src属性的jQuery脚本。

我尝试使用此代码:

<script>
    $(document).ready(function(){
        var windowSize = $(window).width();
        if( windowSize > 300 && windowSize < 570) {
            $('head').append('<script src=\"http://code.jquery.com/jquery-1.11.3.min.js\" type="text/javascript\"><\/script>');     
        }
    });
</script>

但似乎它不起作用。 相反,我在脚本中添加了一个简单的警报,它可以工作:

<script>
    $(document).ready(function(){
        var windowSize = $(window).width();                 
        if( windowSize > 300 && windowSize < 570) { 
            $('head').append('<script>alert("hi");<\/script>');
        }
    });
</script>

我认为问题是src =&#34;&#34;。我应该做些什么?

2 个答案:

答案 0 :(得分:1)

我发现此代码有两个问题:

1)您在脚本块中使用jQuery语法来添加对jQuery的引用?这将不起作用,除非您已经在某处加载了jQuery的副本,并且由于某种原因正在尝试使用此代码将其更新为其他内容。

2)我在你的第一个例子中看到你正在逃避"\"。你不需要在jQuery中这样做,假设问题1不是真正的问题或解决。 jQuery将在单引号内正确处理双引号,反之亦然。

答案 1 :(得分:0)

这是老派的痛苦

function loadScript(url, callback){ 
   var head = document.getElementsByTagName('head')[0];
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = url;

    // Then bind the event to the callback function.
    // There are several events for cross browser compatibility.
    script.onreadystatechange = callback;
    script.onload = callback;

    // Fire the loading
    head.appendChild(script);

}