css是页面不能分隔的部分,jQuery中也提供了一些css相关的实用的办法。前面章节中有使用过 addClass()为元素添加css样式风格。本节主要介绍jQuery如何设置页面的样式风格。包括添加、删除、动态切换等。

1. 添加、删除css类别。

$(function() {
                    //同时添加多个CSS类别
                    $("img").addClass("css1 css2");
                });

如以上代码对img元素添加了css1和 css2两个样式

removeClass与addClass方法相对应,这里不再重复例举。

2.在类别间动态切换。

很多时候根据用户的操作状态,希望某些元素的样式风格在某个类别之间切换,时而addClass()类别,时而removeClass()类别,Jq提供了一个直接的toggleClass(name)来进行类似的操作

$(function() {
                $("p").click(function() {
                    $(this).toggleClass("css1");
                })
            });

以上代码实现了点击P元素时,对css1样式不断切换。toggleClass(name)方式只能设定一种css类别。不能对多个css进行切换。

3.直接获取、设置样式。

与attr()方法完全类似,jQuery提供了css()方法直接获取、设置元素的样式风格,比如使用css(name)获取某种样式的风格值。通过css(properties)列表来同事设置多种样式,通过css(name,value)设置元素的某种样式。

例如:通过设置鼠标mouseover和mouseout事件触发css(name,value)来修改颜色标记。

    $(function() {
                $("p").mouseover(function() {
                    $(this).css("color", "red");
                });
                $("p").mouseout(function() {
                    $(this).css("color", "black");
                });
            });

css方法提供了opacity属性。并且兼容各种浏览器。

如上例子修改,可以通过鼠标事件设置p元素的透明度值。

    $(function() {
                $("p").mouseover(function() {
                    $(this).css("opacity", "0.5");
                });
                $("p").mouseout(function() {
                    $(this).css("opacity", "1");
                });
            });

另外在css中提供了hasClass(name)方法判断某个元素是否设置了某个css类别。返回布尔值。例如:

    $("li:last").hasClass("css1")

表达最后一个li的css属性是否包含css1类。和

    $("li:last").is(".css1")

代码效果完全相同。

查看jQuery源码,hasClass方法就是调运is()方法。

hasClass: function(selector) {
                return this.is("." + selector);
            }

 

posted on 2015-01-19 01:33  村长很忙  阅读(2941)  评论(0编辑  收藏  举报