有时我们可能会需要使用 jquery 来加载一个外部的 css 文件,如在切换页面布局时。思路是创建一个 link 元素,并将它添加到 标记中即可,下边首先看看怎么使用 jquery 来实现。
$("<link>")
.attr({ rel: "stylesheet",
type: "text/css",
href: "site.css"
})
.appendto("head");
有些朋友可能会使用下边的写法,只是形式有些小差异(append appendto),原理还是一样的。
$("head").append("<link>");
css = $("head").children(":last");
css.attr({
rel: "stylesheet",
type: "text/css",
href: "/content/site.css"
});
最后,有的朋友可能希望直接在 javascript 中使用,方法如下:
function addcss() {
var link = document.createelement('link');
link.type = 'text/css';
link.rel = 'stylesheet';
link.href = '/content/site.css';
document.getelementsbytagname("head")[0].appendchild(link);
}
如果是在 web 交互时,我们可以使用上述的方法通过 jquery 或者 javascript 来引入一个 css 文件,否则还是建议使用原始的方法。
下面还介绍一个可加载js,css的实例
代码如下
$.extend({
includepath: '',
include: function(file) {
var files = typeof file == "string" ? [file]:file;
for (var i = 0; i < files.length; i++) {
var name = files[i].replace(/^s|s$/g, "");
var att = name.split('.');
var ext = att[att.length - 1].tolowercase();
var iscss = ext == "css";
var tag = iscss ? "link" : "script";
var attr = iscss ? " type='text/css' rel='stylesheet' " : " language='javascript' type='text/javascript' ";
var link = (iscss ? "href" : "src") + "='" + $.includepath + name + "'";
if ($(tag + "[" + link + "]").length == 0) document.write("<" + tag + attr + link + "></" + tag + ">");
}
}
});
//使用方法
$.includepath = 'http://hi.xxx/javascript/';
$.include(['json2.js', 'jquery.tree.js', 'jquery.tree.css']);
以上就是jquery中如何加载外部css文件用法详解的详细内容。