1. 程式人生 > >JQuery常用屬性整理

JQuery常用屬性整理

                                                        JQuery常用屬性整理
                                                            
方法目錄:
    |------------- attr(name|properties|key,value|fn)
    |------------- removeAttr(name)
    |------------- prop(name|properties|key,value|fn)
    |------------- removeProp(name)
    |------------- addClass(class|fn)
    |------------- removeClass([class|fn])
    |------------- toggleClass(class|fn[,sw])
    |------------- html([val|fn])
    |------------- text([val|fn])
    |------------- val([val|fn|arr])


1、attr(name|properties|key,value|fn)
    1)、說明
        設定或返回被選元素的屬性和值。
        當該方法用於返回屬性值,則返回第一個匹配元素的值。
        當該方法用於設定屬性值,則為匹配元素設定一個或多個屬性/值對
    2)、語法
        (1)、返回屬性的值:
            $(selector).attr(attribute)
        (2)、設定屬性和值:
            $(selector).attr(attribute,value)
        (3)、使用函式設定屬性和值:
            $(selector).attr(attribute,function(index,currentvalue))
        (4)、設定多個屬性和值:
            $(selector).attr({attribute:value, attribute:value,...})
    3)、引數
        attribute     規定屬性的名稱。
        value     規定屬性的值。
        function(index,currentvalue)     規定要返回屬性值到集合的函式
                                        index - 接受集合中元素的 index 位置。
                                        currentvalue - 接受被選元素的當前屬性值
    4)、示例:
        (1)、$("img").attr("src");
        (2)、$("img").attr("src","test.jpg");
        (3)、$("img").attr("width",function(n,v){return v-50;});    //每次執行,圖片寬度減少50個畫素
        (4)、$("img").attr({ src: "test.jpg", alt: "Test Image" });
        
2、removeAttr(name)
    1)、說明
        從被選元素移除一個或多個屬性。
    2)、語法
         $(selector).removeAttr(attribute)
    3)、引數
        attribute     必需。規定要移除的一個或多個屬性。如需移除若干個屬性,請使用空格分隔屬性名稱。
    4)、示例
        $("p").removeAttr("id class");    //移除所有P元素的id和類屬性
        
3、prop(name|properties|key,value|fn)
    1)、說明
        設定或返回被選元素的屬性和值。
        當該方法用於返回屬性值時,則返回第一個匹配元素的值。
        當該方法用於設定屬性值時,則為匹配元素集合設定一個或多個屬性/值對。
    2)、語法
        (1)、返回屬性的值:
            $(selector).prop(property)
        (2)、設定屬性和值:
            $(selector).prop(property,value)
        (3)、使用函式設定屬性和值:
            $(selector).prop(property,function(index,currentvalue))
        (4)、設定多個屬性和值:
            $(selector).prop({property:value, property:value,...})

    3)、引數
        property     規定屬性的名稱。
        value     規定屬性的值。
        function(index,currentvalue)     規定返回要設定的屬性值的函式。
                                        index - 檢索集合中元素的 index 位置。
                                        currentvalue - 檢索被選元素的當前屬性值。
    4)、示例
        (1)、$("input[type='checkbox']").prop("checked");
        (2)、$("input[type='checkbox']").prop({disabled: true});
        (3)、$("input[type='checkbox']").prop("checked", function( i, val ) {
                return !val;
             });
        (4)、$("input[type='checkbox']").prop("disabled", true);
             $("input[type='checkbox']").prop("checked", true);
    
4、removeProp(name)
    1)、說明
        移除由 prop() 方法設定的屬性。
    2)、語法
         $(selector).removeProp(property)
    3)、引數
        property     規定要移除的屬性的名稱。
    4)、示例
            var $para = $("p");
            $para.prop("luggageCode", 1234);
            $para.append("The secret luggage code is: ", String($para.prop("luggageCode")), ". ");
            $para.removeProp("luggageCode");
            $para.append("Now the secret luggage code is: ", String($para.prop("luggageCode")), ". ");
        結果
            The secret luggage code is: 1234. Now the secret luggage code is: undefined.
    
5、addClass(class|fn)
    1)、說明
        向被選元素新增一個或多個類名。
        該方法不會移除已存在的 class 屬性,僅僅新增一個或多個類名到 class 屬性。
        提示:如需新增多個類,請使用空格分隔類名。
    2)、語法
         $(selector).addClass(classname,function(index,oldclass))
    3)、引數
        classname     必需。規定一個或多個要新增的類名稱。
        function(index,currentclass)     可選。規定返回一個或多個待新增類名的函式。
                                        index - 返回集合中元素的 index 位置。
                                        currentclass - 返回被選元素的當前類名。
    4)、示例
        (1)、向元素新增2個類(樣式)
            $("p:first").addClass("intro note");
        (2)、用函式新增類
            $("button").click(function(){
                $("p").addClass(function(n){
                return "par_" + n;
                });
            });
    
6、removeClass([class|fn])
    1)、說明
        從被選元素移除一個或多個類。
        注意:如果沒有規定引數,則該方法將從被選元素中刪除所有類。
    2)、語法
         $(selector).removeClass(classname,function(index,currentclass))
    3)、引數
        classname     可選。規定要移除的一個或多個類名稱。如需移除若干個類,請使用空格分隔類名稱。
                    注意: 如果該引數為空,則將移除所有類名稱。
        function(index,currentclass)     可選。返回要移除的一個或多個類名稱的函式。
                                        index - 返回集合中元素的 index 位置。
                                        currentclass - 返回被選元素的當前類名。
    4)、示例
        (1)、$("p").removeClass("selected");    //從匹配的元素中刪除 'selected' 類
        (2)、$("p").removeClass();                //刪除匹配元素的所有類
        (3)、$('li:last').removeClass(function() {    //刪除最後一個元素上與前面重複的class
                return $(this).prev().attr('class');
            });
    
7、toggleClass(class|fn[,sw])
    1)、說明
        對新增和移除被選元素的一個或多個類進行切換。
        該方法檢查每個元素中指定的類。如果不存在則新增類,如果已設定則刪除之。這就是所謂的切換效果。
        然而,通過使用 "switch" 引數,您能夠規定只刪除或只新增類。
    2)、語法
         $(selector).toggleClass(classname,function(index,currentclass),switch)
    3)、引數
        classname     必需。規定新增或移除的一個或多個類名。如需規定若干個類,請使用空格分隔類名。
        function(index,currentclass)     可選。規定返回需要新增/刪除的一個或多個類名的函式。
                                        index - 返回集合中元素的 index 位置。
                                        currentclass - 返回被選元素的當前類名。
        switch     可選。布林值,規定是否僅僅新增(true)或移除(false)類。
    4)、示例
        (1)、$("p").toggleClass("selected");    //為匹配的元素切換 'selected' 類
        (2)、每點選三下加上一次 'highlight' 類
            HTML:
                <strong>jQuery 程式碼:</strong>
            JQuery:
                var count = 0;
                $("p").click(function(){
                    $(this).toggleClass("highlight", count++ % 3 == 0);
                });
        (3)、根據父元素來設定class屬性
            $('div.foo').toggleClass(function() {
                if ($(this).parent().is('.bar') {
                    return 'happy';
                } else {
                    return 'sad';
                }
            });
            
8、html([val|fn])
    1)、說明
        設定或返回被選元素的內容(innerHTML)。
        當該方法用於返回內容時,則返回第一個匹配元素的內容。
        當該方法用於設定內容時,則重寫所有匹配元素的內容。
        提示:如只需設定或返回被選元素的文字內容,請使用 text() 方法。
    2)、語法
        (1)、返回內容:
            $(selector).html()
        (2)、設定內容:
            $(selector).html(content)
        (3)、使用函式設定內容:
            $(selector).html(function(index,currentcontent))
    3)、引數
        content     必需。規定被選元素的新內容(可包含 HTML 標籤)。
        function(index,currentcontent)         可選。規定返回被選元素的新內容的函式。
                                            index - 返回集合中元素的 index 位置。
                                            currentcontent - 返回被選元素的當前 HTML 內容。
    4)、示例
        (1)、$('p').html();        //返回p元素的內容。
        (2)、$("p").html("Hello <b>world</b>!");    //設定所有 p 元素的內容
        (3)、使用函式來設定所有匹配元素的內容
            $("p").html(function(n){
                return "這個 p 元素的 index 是:" + n;
            });
            
9、text([val|fn])
    語法與第八點雷同
    
10、val([val|fn|arr])
    1)、說明
        返回或設定被選元素的 value 屬性。
        當用於返回值時:
        該方法返回第一個匹配元素的 value 屬性的值。
        當用於設定值時:
        該方法設定所有匹配元素的 value 屬性的值。
        注意:val() 方法通常與 HTML 表單元素一起使用。
    2)、語法
        (1)、返回 value 屬性:
            $(selector).val()
        (2)、設定 value 屬性:
            $(selector).val(value)
        (3)、通過函式設定 value 屬性:
            $(selector).val(function(index,currentvalue))
    3)、引數
        value     必需。規定 value 屬性的值。
        function(index,currentvalue)         可選。規定返回要設定的值的函式。
                                            index - 返回集合中元素的 index 位置。
                                            currentvalue - 返回被選元素的當前 value。
    4)、示例
        (1)、$("input").val();        //獲取文字框中的值
        (2)、$("input").val("hello world!");    //設定文字框的值
        (3)、設定文字框的值
            $('input:text.items').val(function() {
                return this.value + ' ' + this.className;
            });
        (4)、設定一個select和一個多選的select的值
            HTML:
                <select id="single">
                  <option>Single</option>
                  <option>Single2</option>
                </select>
                <select id="multiple" multiple="multiple">
                  <option selected="selected">Multiple</option>
                  <option>Multiple2</option>
                  <option selected="selected">Multiple3</option>
                </select><br/>
                <input type="checkbox" value="check1"/> check1
                <input type="checkbox" value="check2"/> check2
                <input type="radio" value="radio1"/> radio1
                <input type="radio" value="radio2"/> radio2
            JQuery:
                $("#single").val("Single2");
                $("#multiple").val(["Multiple2", "Multiple3"]);
                $("input").val(["check2", "radio1"]);