jQuery使用之(二)设置元素的样式

优质
小牛编辑
134浏览
2023-12-01

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);
        }