这节课,我们看下如果使用jq的css操作方法。
你可以先运行下下面的代码,比较下jq与传统操作方式的差别:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>jQuery一点一滴系列教程(第二滴)</title> <style type="text/css"> li { color:#369; } .current { color:#f90; } </style> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript"> $(function(){ //传统方式,需要写更多的代码 /*var theItem=document.getElementsByTagName("li")[0]; if(theItem.currentStyle) alert(theItem.currentStyle.color); else if(window.getComputedStyle) alert(window.getComputedStyle(theItem,null).color);*/ alert($("li").css("color"));//获取第一个Li的color属性值 }); </script> </head> <body> <ul> <li>第一行</li> <li class="current">第二行</li> <li>第三行</li> <li>第四行</li> <li>第五行</li> </ul> </body> </html>
注意jq的元素选择方式(选择器),和css的类似,可以自己比较下。
$("li")访问文档中的li元素,不管什么嵌套层次;
当然了选择类可以这样$(".current"),如果选择ID的就是$("#myId")等。
这是获取css属性值,也可以设置,如下:
$(function(){
//传统方式,需要写更多的代码
/*var theItem=document.getElementsByTagName("li")[0];
if(theItem.currentStyle)
alert(theItem.currentStyle.color);
else if(window.getComputedStyle)
alert(window.getComputedStyle(theItem,null).color);*/
//alert($("li").css("color"));//获取第一个Li的color属性值
$("ul").click(function(){
$("li").css("color","#900");
});
});
是不是很简单啊。
当然了另外一个重载的方式是传入对象:
$("ul").click(function(){
$("li").css({color:"090",backgroundColor:"#f0f0ff"});
});
这样单击ul后,发现样式的变化。
还有一种通过函数计算返回值作为属性值的:
$("ul").click(function(){
$("li").css("backgroundColor",function(index,value){var clr=index*80;return "rgb("+clr+","+clr+","+clr+")";});
});
翻来覆去就是css()的变种,简单吧?