jQuery的属性与样式之增加样式.addClass(),删除样式.removeClass()

用于动态增加class类名

.addClass( className )方法

  1. .addClass( className ) : 为每个匹配元素所要增加的一个或多个样式名
  2. .addClass( function(index, currentClass) ) : 这个函数返回一个或更多用空格隔开的要增加的样式名

注意事项:

.addClass()方法不会替换一个样式类名。它只是简单的添加一个样式类名到元素上

简单的描述下:在p元素增加一个newClass的样式

<p class="orgClass">
$("p").addClass("newClass")

那么p元素的class实际上是 class="orgClass newClass"样式只会在原本的类上继续增加,通过空格分隔

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title></title>
    <style>
    .left,
    .right {
        width: 300px;
        height: 120px;
    }

    .left div,
    .right div {
        width: 100px;
        height: 90px;
        padding: 5px;
        margin: 5px;
        float: left;
        border: 1px solid #ccc;
    }

    .newClass{
        background: #bbffaa;
    }

    .imoocClass{
        background: red;
    }

    </style>
    <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>

<body>
    <h2>.addClss()方法</h2>
    <div class="left">
        <div class="aaron">
            <p>newClass</p>
        </div>
        <div class="aaron">
            <p>newClass</p>
        </div>
    </div>
    <div class="right">
        <div class="aa bb imooc">
            <article>
                <p>imoocClass</p>
            </article>
        </div>
        <div class="bb cc imooc ">
            <article>
                <p>imoocClass</p>
            </article>
        </div>
    </div>

    <script type="text/javascript">
        //class=left下div元素增加一个新的样式,增加背景颜色
        $(‘.left div‘).addClass(‘newClass‘)
    </script>

    <script type="text/javascript"> 

        //通过className(fucntion)方法
        //这个函数返回一个或更多用空格隔开的要增加的样式名。
        //接收index 参数表示元素在匹配集合中的索引位置和html 参数表示元素上原来的 HTML 内容

        //找到所有的div,然后通过addClass设置颜色,根据返回的className的判断,
        $("div").addClass(function(index,className) {

            //找到类名中包含了imooc的元素
            if(-1 !== className.indexOf(‘imooc‘)){
                //this指向匹配元素集合中的当前元素
                $(this).addClass(‘imoocClass‘)
            }
        });
    </script>

</body>

</html>

jQuery通过.addClass()方法可以很便捷的增加样式。如果需要样式之间的切换,同样jQuery提供了一个很方便的.removeClass(),它的作用是从匹配的元素中删除全部或者指定的class

.removeClass( )方法

  1. .removeClass( [className ] ):每个匹配元素移除的一个或多个用空格隔开的样式名
  2. .removeClass( function(index, class) ) : 一个函数,返回一个或多个将要被移除的样式名

注意事项

如果一个样式类名作为一个参数,只有这样式类会被从匹配的元素集合中删除 。 如果没有样式名作为参数,那么所有的样式类将被移除

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title></title>
    <style>
    .left,
    .right {
        width: 300px;
        height: 120px;
    }

    .left div,
    .right div {
        width: 100px;
        height: 90px;
        padding: 5px;
        margin: 5px;
        float: left;
        border: 1px solid #ccc;
    }

    .newClass{
        background: #bbffaa;
    }

    .imoocClass{
        background: red;
    }

    </style>
    <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>

<body>
    <h2>.removeClass()方法</h2>
    <div class="left">
        <div class="aaron newClass">
            <p>newClass</p>
        </div>
        <div class="aaron newClass">
            <p>newClass</p>
        </div>
    </div>
    <div class="right">
        <div class="aa bb imoocClass">
            <article>
                <p>imoocClass</p>
            </article>
        </div>
        <div>
            <article>
                <p>imoocClass</p>
            </article>
        </div>
    </div>

    <script type="text/javascript">
        //class=left下div元素删除newClass样式
        $(‘.left div‘).removeClass(‘newClass‘)
    </script>

    <script type="text/javascript">
        //.removeClass() 方法允许我们指定一个函数作为参数,返回将要被删除的样式
        $(‘.right > div:first‘).removeClass(function(index,className){

            //className = aa bb imoocClass
            //把div的className赋给下一个兄弟元素div上作为它的class
            $(this).next().addClass(className)

            //删除自己本身的imoocClass
            return ‘imoocClass‘
        })

    </script>

</body>

</html>
时间: 2024-10-08 17:06:43

jQuery的属性与样式之增加样式.addClass(),删除样式.removeClass()的相关文章

jQuery的属性及样式

1jQuery的属性与样式之.attr()与.removeAttr() 每个元素都有一个或者多个特性,这些特性的用途就是给出相应元素或者其内容的附加信息.如:在img元素中,src就是元素的特性,用来标记图片的地址. 操作特性的DOM方法主要有3个,getAttribute方法.setAttribute方法和removeAttribute方法,就算如此在实际操作中还是会存在很多问题,这里先不说.而在jQuery中用一个attr()与removeAttr()就可以全部搞定了,包括兼容问题 jQue

JQuery元素属性和样式操作、以及设置元素和内容

一.JQury元素属性操作通过JQuery可以对元素本身的属性进行操作,包括获取属性的属性值,设置属性的属性值,并且可以删除属性值(attr()和removeAttr()).二.JQuery样式操作元素样式操作包括了:直接设置css样式.增加css样式.类别切换.删除类别.例如:$('div').css('color');//获取元素行内的css样式颜色.$('div').css('color'. 'pink');//设置我最喜欢的粉色.var box = $('div').css(['colo

JQuery属性与样式——删除样式.removeClass()和切换样式.toggleClass()

删除样式.removeClass()和切换样式.toggleClass() 1   .removeClass()从匹配的元素中删除全部或者指定的class 2   .removeClass()的2种方法 .removeClass([className])每个匹配元素移除的一个或多个用空格隔开的样式名 .removeClass(function(index,class))一个函数,返回一个或多个将要被移除的样式名 3   如果一个样式类名作为一个参数,样式类会被从匹配的元素集合中删除,如果没有样式

jQuery的属性与样式之.attr()与.removeAttr()

Query中用attr()方法来获取和设置元素属性,attr是attribute(属性)的缩写,在jQuery DOM操作中会经常用到attr() attr()有4个表达式 attr(传入属性名):获取属性的值 attr(属性名, 属性值):设置属性的值 attr(属性名,函数值):设置属性的函数值 attr(attributes):给指定元素设置多个属性值,即:{属性名一: "属性值一" , 属性名二: "属性值二" , - - } removeAttr()删除方

jQuery 源码分析(十四) 数据操作模块 类样式操作 详解

jQuery的属性操作模块总共有4个部分,本篇说一下第3个部分:类样式操作部分,用于修改DOM元素的class特性的,对于类样式操作来说,jQuery并没有定义静态方法,而只定义了实例方法,如下: addClass(value) ;为匹配元素集合中的每个元素添加一个或多个类样式,通过修改DOM属性className来修改类样式,value可以是个以空格分隔的类样式或者一个函数(返回一个或多个以空格分隔的类样式) hasClass(selector)   ;检测匹配元素中的任意元素是否含有指定的类

通过list-style-image属性指定自己的图片作为列表项样式

设计包含了用户的交互体验和视觉,css所要描述的内容,大多来自于设计领域可以说基本是ps上内容的移植,所以了解些ps设计上的知识有助于你将设计稿转换成css代码,而交互体验主要是指用户在应用上的操作是否流畅,这种流畅包括性能和交互两个方面. 计算 如果细数前端这些年的发展,其实除了一些浏览器环境特有的问题,大多数还是在照搬后端的那些东西,包括模块化,编译,面向对象等等,这么做的原因是什么?我觉得是为了解决web应用中的一个趋势,计算前置,为了使web应用在设计中能够使用户交互更加流畅,我们把很多

jQuery的属性、遍历和HTML操作

一.属性操作   1..attr()与.removeAttr() 每个元素都有一个或者多个特性,这些特性的用途就是给出相应元素或者其内容的附加信息.如:在img元素中,src就是元素的特性,用来标记图片的地址. 操作特性的DOM方法主要有3个,getAttribute方法. setAttribute方法和removeAttribute方法,就算如此在实际操作中还是会存在很多问题,这里先不说.而在jQuery中用一个 attr()与removeAttr()就可以全部搞定了,包括兼容问题 jQuer

.css()与.addClass()设置样式的区别

对于样式的设置,addClass与css方法两者之间有什么区别? 可维护性: .addClass()的本质是通过定义个class类的样式规则,给元素添加一个或多个类.css方法是通过JavaScript大量代码进行改变元素的样式 通过.addClass()我们可以批量的给相同的元素设置统一规则,变动起来比较方便,可以统一修改删除.如果通过.css()方法就需要指定每一个元素是一一的修改,日后维护也要一一的修改,比较麻烦 灵活性: 通过.css()方式可以很容易动态的去改变一个样式的属性,不需要在

jQuery访问属性,绝对定位

一. jQuery访问属性 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jQuery attr demo</title> </head> <body> <input id="check" type="checkbox" checke