CSS()方法改变CSS样式
css()方法在使用上具有多样性。其中有一种可接受两个输入参数:样式属性和样式值,两者之间用逗号分隔。比如要改变链接颜色,可以这样编写代码:
代码如下 | 复制代码 |
$("#61dh a").css(\'color\',\'#123456\'); //选择器‘$("#61dh a")’表示ID为‘#61dh’的元素下的所有链接。 //.css(‘color’,\'#123456\');表示把颜色设为\'#123456\' |
如果需要改变多个样式属性,可先定义属性变量,然后直接赋值给css()方法。示例如下:
代码如下 | 复制代码 |
var mycss = { background: \'#EEE\', width: \'478px\', margin: \'10px 0 0\', padding: \'5px 10px\', border: \'1px solid #CCC\' }; $("#result").css(divcss); |
上述代码先定义了一个CSS样式属性变量“mycss”,类似于建立一个外部CSS文件,之后通过css()方法,把属性赋给ID为\'#result\'的DIV。
另外jQuery提供的css()方法还可以查看某个元素的css属性值。例如查看链接的颜色,代码如下:
代码如下 | 复制代码 |
$("#61dh a").css("color") |
你会发现,这与第一个例子相似,但是这里只传递一个参数(样式属性)。
最后要介绍的是如何设置鼠标划过后的链接样式(比如: 颜色),需要用到jQuery事件类方法 - hover()。值得注意的是,hover()方法需要定义两个函数,一个是鼠标划过时;另一个是鼠标划过后。具体方法如下:
代码如下 | 复制代码 |
$("#61dh a").css(\'color\',\'#123456\'); $("#61dh a").hover(function(){ $(this).css(\'color\',\'#999\'); }, function(){ $(this).css(\'color\',\'#123456\'); }); //hover()方法的两个函数使用用逗号分隔 |
或许聪明的你已经注意到这种方法称不上简洁,呵呵,其实jQuery hover()方法不是用来改变CSS样式的。在实际运用中,建议使用添加/移出CSS的方法来改变鼠标划过的链接样式。
添加/改变/移除CSS类
1. removeClass() - 移除CSS类
代码如下 | 复制代码 |
$("#target").removeClass("oldClass"); //#target 指的是需要移除CSS类的元素的ID //oldClass 指的是CSS类的名称 |
2.addClass() - 添加CSS类
代码如下 | 复制代码 |
$("#target").addClass("newClass"); //#target 指的是需要添加样式的元素的ID //newClass 指的是CSS类的名称 |
3. toggleClass() - 添加或者移除CSS类:如果CSS类已经存在,它将被移除;相反,如果CSS类不存在,它将被加上。
代码如下 | 复制代码 |
$("#target").toggleClass("newClass") //如果ID为“target”的元素已经定义了CSS样式,它将被移除; //反之,CSS类“newClass”将被赋给该ID。 |
4.hasClass("className") - 判断是否已经存在CSS
在实际运用中,我们通常是先定义好这些CSS类,然后通过Javascript事件触发(比如点击某个按钮)来改变页面元素样式。此外,jQuery还提供一种方法 hasClass("className"),用来判断某个元素是否已经被赋予某个CSS类。顺便告诉前端开发的新手,jquery是值得拥有的,有空了好好研究吧。