jquery 加载新生成的CSS文件

html-css021

jquery 加载新生成的CSS文件,第1张

你的写法已经加载了 1.css,只是没有被更新。不被更新是因为 1.css 文件已经被缓存,就算是重新设置 href 也是加载了被缓存的 css。

你可以在设置 href 的时候在后面添加一个 query string,例如当前时间,等于是强制更新

$.post('ajax/1.php',function(data) {

var now = new Date().getTime()

$("link[href='css/1.css']").attr('href','css/1.css?' + now)

})

一、Jquery动态加载Js和Css扩展方法

$.extend({

includePath: '',

include: function(file) {

var files = typeof file == "string" ? [file]:file

for (var i = 0i <files.lengthi++) {

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 + ">")

}

}

})

二、使用方法:

$.include('dedeajax.js')

$.include('android.css')

或者:

$.includePath='www/html/'

$.include([dedeajax.js','android.css'])