有没有办法将css文件或javascript文件动态注入HTML文档的head标签。

时间:2012-05-09 14:43:11

标签: javascript html css

有没有办法将css文件或javascript文件动态注入HTML文档的head标记。

以下是该方案:

我做了一个ajax调用,它基本上带回了一些HTML,css和事件存储在一个单独的文件中。

我需要的是,链接和脚本放在head标签中。

2 个答案:

答案 0 :(得分:1)

Loading external JavaScript内置于jQuery中,但您需要创建CSS元素:

$(document).ready( function(){

    $("head").append("<link>");
    css = $("head").children(":last");
    css.attr({
      rel:  "stylesheet",
      type: "text/css",
      href: "/link/to/your.css"
    });
    $.getScript("/path/to/your.js", function(){
         // fires after JS is loaded
    });

});

您需要能够加载jQuery并在页面上运行此JavaScript,以便提取外部文件。

我使用Google查找:http://topsecretproject.finitestatemachine.com/2009/09/how-to-load-javascript-and-css-dynamically-with-jquery/

答案 1 :(得分:1)

jQuery方法在IE中不起作用,但您可以使用它自己的特殊creatStyleSheet函数来处理它:

var url = '/b/css/datepicker.jquery-ui.css';

if (document.createStyleSheet){
  document.createStyleSheet(url);
 } else {
   $('head').append('<link rel="stylesheet" type="text/css" href="' + url + '"/>');
 }