jQuery使用之(二)設置元素的樣式

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);
            }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章