外部js怎么引用css?

html-css021

外部js怎么引用css?,第1张

你说的是用jQuery里的addClass方法吧(抱歉js原生暂时没发现该方法),那就要先引入jQuery.js,然后再引入a.js,可以这样做:

1、在c.css里写好你的样式:.cssStyle {你的样式}

2、然后在a.js里加入$('span').addClass('cssStyle')即可。

如果你的意思不是这个,那我猜你应该是想说怎么直接在js里操作css样式吧,那就可以这样:

var spanEl = document.querySelectorAll('span')

然后根据你的要求写样式,比如你要修改背景颜色为红色:

spanEl .style.background = ‘red’

希望我的回答能帮助到你,谢谢!

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])

}

}

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

使用相对于jsp页面的相对路径

 <link type="text/css" rel="stylesheet" href="../styles/main.css" />  

<script type="text/JavaScript" src="../scripts/dtree.js"></script>

这样在页面使用http://localhost:8080/项目名/**.jsp访问test.jsp时就可以引用到dtree.js和main.css。

使用相对于Web工程的相对路径

对于1中的相对使用相对于于jsp页面的相对路径的这种方式,如果我们是设置action跳转到test.jsp页面,那么这种使用相对路径的方式就引用不到了。

例如我们当访问http://localhost:8080/MyProject/main.do的时候,页面跳转到test.jsp页面,如果使用方法1,就引用不到了。

这个时候我们可以使用相对于Web工程的相对路径来引用:

<link type="text/css" rel="stylesheet" href="styles/main.css" />  

<script type="text/javascript" src="scripts/dtree.js"></script>

使用Web工程的绝对路径

方法1和方法2都有缺点,都只适用一种情况,有没有两种情况都适用的呢?答案肯定的!

我们使用绝对路径:

 <link type="text/css" rel="stylesheet" href="/MyProject/styles/main.css" />  

 <script type="text/javascript" src="/MyProject/scripts/dtree.js"></script>

注意:如果我们在部署Web应用时,没有设置Context Root(一般情况下配置为工程名),也就是IP和端口后面不带应用名,如http://localhost:8080/main.do和http://localhost:8080/test.jsp,这种情况在引用时就不能带工程名了,应该这样:

<link type="text/css" rel="stylesheet" href="/styles/main.css" />  

<script type="text/javascript" src="/scripts/dtree.js"></script>