如何在css中调用js,代码该怎样写!

html-css015

如何在css中调用js,代码该怎样写!,第1张

传统的写法,也就是在HTML页面的<head></head>写上以下代码

<script type="text/javascript">

</script>

分离的写法,也就是把JS代码单独卸载一个JS文件里

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

</script>

调用JS文件无非就这两种,相信你也是清楚的。一般调用JS文件都是写在的HTML的<head></head>标签里,因为HTML是一个文档,完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,字节顺序记号。不存在你所设想的CSS调用JS的情况。

建议你去好好看下JS的官方解释的概念,你就会明白。希望帮助到你,有疑问可向我追问,尽我所能为您解答。

function c(){

var elem1 = document.getElementById("as")

elem1.setAttribute("class","q3")

var elem2 = document.getElementById("ad")

elem2.setAttribute("class","q4")

}

额,我刚看完"javascript DOM编程艺术"

不知道这样写对不对,我没有试哦,你试一下.

============================================

哈,对上面代码的修改.

我刚实验了一下 ,发现在IE下竟然不能使用

e.setAttribute("class","value")

以及e.getAttribute("class")

下面是网上找到的资料:

在交互性较强的Web应用中,经常需要动态更改指定元素的属性值,假设变量e是页面中一个元素的引用,根据W3C DOM标准,可以在JavaScript中使用e.getAttribute('属性名')来取得属性的值,并且用e.setAttribute('属性名', '值')来设置属性值。网页标签中,class是一个常用的属性,用于指定某一个元素遵从一个或多个自定义样式,由于class属于JavaScript 保留值,因此当我们要操作元素的class属性值时,直接使用e.getAttribute('class')和e.setAttribute ('class', 'value')可能会遭遇浏览器兼容性问题。

W3C DOM标准为每个节点提供了一个可读写的className属性,作为节点class属性的映射,标准浏览器的都提供了这一属性的支持,因此,可以使用 e.className访问元素的class属性值,也可对该属性进行重新斌值。而IE和Opera中也可使用e.getAttribute ('className')和e.setAttribute('className', 'value')访问及修改class属性值。相比之下,e.className是W3C DOM标准,仍然是兼容性最强的解决办法。

以下列表说明了上文提及的三种做法的浏览器兼容性测试:

* e.className 能在IE、Mozilla(Firefox)、Opera和Safari正确运行

* e.getAttribute('class')和e.setAttribute('class', 'value') 能在Mozilla(Firefox)和Opera中正确运行,在IE和Safari中则不能使用。

* e.getAttribute('className') 在IE和Opera中正确运行,在Mozilla(Firefox)和Safari中则不能使用。

下面是我自己试验的代码,对最初的代码有所修改:

<script language="javascript">

function c(){

var elem1 = document.getElementById("as")

//alert(elem1.className)测试用

elem1.className="q3"

var elem2 = document.getElementById("ad")

elem2.className="q4"

return false

}

</script>

<style>

.q1{

color:red

}

.q2{

color:blue

}

.q3{

color:green

}

.q4{

color:yellow

}

</style>

<div id="as" class="q1"><a href="#" onclick="c()">click me</a>test color</div>

<div id="ad" class="q2"><a href="#" onclick="c()">click me</a>test color</div>

CSS 是静态的 不能使用 js 的变量

但是你可以使用js 去修改 css 的值

var you_var_height = 100

var you_var_width = 100

//写法1 纯JavaScript

var div1 = document.getElementById('ID00001')

div1.style.height=you_var_height

div1.style.width=you_var_width

//写法2 jquery

$(document).ready(){

$('#ID00001').css('height',you_var_height)

$('#ID00001').css('height',you_var_width)

}