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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM