jQuery操作元素css样式的三种方法

我们常常要使用Javascript来改变页面元素的样式。其中一种办法是改变页面元素的CSS类(Class),这在传统的Javascript里,我们通常是通过处理HTML Dom的classname特性来实现的;而jQuery里提供三种方法来实现这个功能,虽然它们和传统方法的思想相通,但是却节省了许多代码。还是那句话 – “jQuery让JavaScript代码变得简洁!”


1. addClass() – 添加CSS类


$(“#target”).addClass(“newClass”);


//#target 指的是需要添加样式的元素的ID


//newClass 指的是CSS类的名称


2. removeClass() – 移除CSS类


$(“#target”).removeClass(“oldClass”);


//#target 指的是需要移除CSS类的元素的ID


//oldClass 指的是CSS类的名称


3. toggleClass() – 添加或者移除CSS类:如果CSS类已经存在,它将被移除;相反,如果CSS类不存在,它将被加上。


$(“#target”).toggleClass(“newClass”)


//如果ID为“target”的元素已经定义了CSS样式,它将被移除;


//反之,CSS类”newClass“将被赋给该ID。


在实际运用中,我们常常先定义好这些CSS类,然后通过Javascript事件触发(比如点击某个链接)来改变页面元素样式。此外,jQuery还提供一种方法 hasClass(“className”)用来判断某个元素是否已经被赋予某个CSS类。


下面是一个完整的例子。



复制代码 代码如下:



<!DOCTYPE HTML>


<head>


<title>图片闪烁</title>


<style type=”text/css”>


@-webkit-keyframes twinkling{ /*透明度由0到1*/


0%{


opacity:0; /*透明度为0*/


}


100%{


opacity:1; /*透明度为1*/


}


}


.up{


-webkit-animation: twinkling 1s infinite ease-in-out;


}


</style>


</head>


<body>


<div id=”soccer” class=”up”>


哈哈


</div>


<br/>


<input type=”button” onclick=’btnClick()’>


<script” width=100% src=”./jQuery/jquery-1.8.3.js” type=”text/javascript”></script>


<script>


function btnClick(){


//$(“#soccer”).removeClass(“up”);


$(“#soccer”).toggleClass(“up”);


//$(“p:first”).removeClass(“intro”);


}


</script>


</body>


</html>



SyntaxHighlighter.highlight();