在JS文件中调用外部CSS文件

html-css0187

在JS文件中调用外部CSS文件,第1张

JS文件中动态调用外部css, 文件方法如下:

function loadExtentFile(filePath, fileType){

if(fileType == "js"){

var oJs = document.create_rElement('script')

oJs.setAttribute("type","text/javascript")

oJs.setAttribute("src", filename)//文件的地址 ,可为绝对及相对路径

document.getElementsByTagName_r("head")[0].appendChild(oJs)//绑定

}else if(fileType == "css"){

var oCss = document.create_rElement("link")

oCss.setAttribute("rel", "stylesheet")

oCss.setAttribute("type", "text/css")

oCss.setAttribute("href", filename)

document.getElementsByTagName_r("head")[0].appendChild(oCss)//绑定

}

}

loadExtentFile("js/func.js", "js")

loadExtentFile("default.css", "css")

清空:

var lists = document.getElementsByTagName_r("link")

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

if (lists[i].getAttribute("href").indexOf(".css") != -1) == -1) {

lists[i].parentNode.removeChild(lists[i])

}

}

上面的判断语句中可以加入自己的判断。

方法一,在调用文件的顶部加入下例代码:

document.write(”<script language=javascript src=’/js/import.js’></script>”)

(注:有时你引用的文件还可能需要引用其他的js,我们需要将需要的那个js文件也以同样的方法引用进来)

方法二,通过中间界面对js进行应用

就是我们可以在某个html中引用了你需要的js文件,我们可以通过拿到那个html文件的对象,然后在通过这个对象去引用js的方法。

(一般不常用)

方法三:在将下边代码放入Body中:

new_element=document.createElement(”script”)

new_element.setAttribute(”type”,”text/javascript”)

new_element.setAttribute(”src”,”import.js”)

document.body.appendChild(new_element)

我们来分析一下关键的几句代码:

首先,我们利用document.createElement(”script”)生成了一个script的标签,设置其 type属性为text/javascript,src为import.js(这里的1.js同2.js放在同一个目录,也可放在不同的目录)。最后将这个标签动态 地加入body中。如此一来,我们就可以调用到不同js文件中的方法了。

注意:<script language=”JAVASCRIPT” src=’1.js’></script>一定要放在body下面。

因为在2.js中用到了body(document.body.appendChild(new_element))

如果将引如2.js的代码放在body上面,也就是说,

进入页面后,还没有生成body就已经执行b.js里的document.body.appendChild(new_element)了。

这时body不存在就会抛JavaScript错误。

可以动态引用!!! 补充: 例如: <script> //添加CSS函数 function add_css() { var str_css = "body {font-size:5px}"//定义内容 try { //IE下可行 var style = document.createStyleSheet()style.cssText = str_css} catch (e) { //Firefox,Opera,Safari,Chrome下可行 var style = document.createElement("style")style.type = "text/css"style.textContent = str_cssdocument.getElementsByTagName("HEAD").item(0).appendChild(style)} } </script><body onload="add_css()"><a href="#">TEST</a></body>补充: 如果你是想要导入链接的CSS文件: 1>import 的方法: ___________ import 导入的JS代码 start _________________ <script> //添加CSS函数 function add_css() { var str_css = "@import url(css.css)"//定义内容 try { //IE下可行 var style = document.createStyleSheet()style.cssText = str_css} catch (e) { //Firefox,Opera,Safari,Chrome下可行 var style = document.createElement("style")style.type = "text/css"style.textContent = str_cssdocument.getElementsByTagName("HEAD").item(0).appendChild(style)} } </script><body onload="add_css()"><a href="#">TEST</a></body> _____________ End _______________________ 2>Link的方法: ___________ link导入的JS代码 start _________________<script> //添加CSS函数 function add_css() { var fileref = document.createElement("link")fileref.setAttribute("rel", "stylesheet")fileref.setAttribute("type", "text/css")fileref.setAttribute("href", "css.css")if (typeof fileref != "undefined") document.getElementsByTagName("head")[0].appendChild(fileref)} add_css("css.css")</script><body><a href="#">TEST</a></body> _____________ End _______________________备注:上面的函数不用写在body 的onload事件里面;直接在JS标签中调用就行了。 LINK这样的导入方法,兼容性没有上面写的函数好。 补充: 我上面不是写了吗?? Javascript 小脚本。