最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

實例詳解jQuery的鏈式編程風格

 更新時間:2021年06月02日 08:53:33   作者:Erudite  
jQuery中的鏈式操作,它讓代碼變得更有層次更簡潔,所以這篇文章主要給大家介紹了關于jQuery鏈式編程風格的相關資料,需要的朋友可以參考下

鏈式編程的實現(xiàn)原理

jQuery可以讓我們開發(fā)者一直使用點語法調(diào)用自身方法的原理,主要原因是jQuery內(nèi)部利用了js的對象來實現(xiàn)。

在jQuery中,如果一直對同一個元素或元素的其他關系元素(兄弟元素,父子元素)進行操作,那么可以使用 .語法(點語法),一直寫下去。

$("#box").css("background", "pink").css("font-size":"29px");
$("#box").siblings().css("background", "");

可以寫成:

$("#box").css("background", "pink").siblings().css("background", "red");

實現(xiàn)鏈式編程jQuery選擇器本身是一個jquery對象。jQuery內(nèi)部利用this返回了自己本身。

    //js中,聲明一個對象
       var obj = {  
         name:"姓名", 
        desc: function(){   
        console.log(this); // 打印當前自身對象  
        console.log(this.name); // 調(diào)用自身對象的屬性   
        return this;  // 實現(xiàn)鏈式編程的原理,就是在調(diào)用方法后,方法本身返回對象。
},  
      read: function(){  
        console.log("hello!");    
        return this; 
    }}


jQuery的鏈式編程風格實例

首先本人通過一個案例來展示jQuery的鏈式編程風格。先寫一個頁面,展示一個列表,代碼如下:

<body>
    <div>
        <ul class="menu">
            <li class="level1">
                <a href="#">水果</a>
                <ul class="level2">
                    <li><a href="#">蘋果</a></li>
                    <li><a href="#">菠蘿</a></li>
                    <li><a href="#">香瓜</a></li>
                </ul>
            </li>
            <li class="level1">
                <a href="#">主食</a>
                <ul class="level2">
                    <li><a href="#">面條</a></li>
                    <li><a href="#">饅頭</a></li>
                    <li><a href="#">米飯</a></li>
                </ul>
            </li>
        </ul>
    </div>
</body>

<script type="text/javascript">
    $(function() {
        $(".level1 > a").click(function() {
            $(this).addClass("current").next().show().parent.siblings().children("a").removeClass("current").next().hide();
            return false;
        });
    });
</script>

代碼執(zhí)行后的效果如下圖所示:

 

 上述代碼的擴展效果就是通過jQuery的鏈式操作實現(xiàn)的,所有增加current類的操作、查詢子元素的方法調(diào)用、動畫方法的調(diào)用等都是對同一個元素進行的,所以在開始獲取到一個jQuery對象后,后面的所有方法、屬性的調(diào)用都通過 “.” 進行連續(xù)調(diào)用即可,這種模式就是鏈式操作。

為了增加代碼的可讀性和可維護性,我們將上面的鏈式代碼格式的修改如下:

<script type="text/javascript">
    $(function() {
        $(".level1 > a").click(function() {
            // 給當前的元素添加current樣式
            $(this).addClass("current")
                // 下一個元素顯示
                .next().show()
                // 父元素的同輩元素的子元素a移除current樣式
                .parent.siblings().children("a").removeClass("current")
                // 他們的下一個元素隱藏
                .next().hide();
            return false;
        });
    });
</script>

經(jīng)過規(guī)范格式的調(diào)整后,增加了代碼的易讀性,更加方便后期的維護。

與此同時,我們對于同一個jQuery對象進行鏈式操作時,主要遵循下面3條格式規(guī)范。

(1)對于同一個對象不超過3個操作,可以直接寫成一行,代碼如下:

<script type="text/javascript">
    $(function() {
        $("li").show().unbind("click");
    });
</script>

(2)對于同一個對象的較多操作,建議每行寫一個操作,代碼如下:

<script type="text/javascript">
    $(function() {
        $(this).removeClass("mouseout")
            .addClass("mouseover")
            .stop()
            .fadeTo("fast", 0.5)
            .fadeTo("fast", 1)
            .unbind("click")
            .click(function() {
                .......
            });
    });
</script>

(3)對于多個對象的少量操作,可以每個對象寫一行,如果涉及子元素,可以考慮適當?shù)目s進。代碼如下:

<script type="text/javascript">
    $(function() {
        $(this).addClass("highLight")
            .children("a").show().end()
            .siblings().removeClass("highLight")
            .children("a").hide();
    });
</script>

以上就是有關jQuery的鏈式編程風格。

總結(jié)

到此這篇關于jQuery鏈式編程風格的文章就介紹到這了,更多相關jQuery鏈式編程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • jQuery實現(xiàn)模擬flash頭像裁切上傳功能示例

    jQuery實現(xiàn)模擬flash頭像裁切上傳功能示例

    這篇文章主要介紹了jQuery實現(xiàn)模擬flash頭像裁切上傳功能,結(jié)合實例形式分析了jQuery圖像剪切與文件傳輸相關操作技巧,需要的朋友可以參考下
    2016-12-12
  • 字段太多jquey快速清空表單內(nèi)容方法

    字段太多jquey快速清空表單內(nèi)容方法

    一個復雜查詢的頁面,字段太多了,填了一次,想清空挺麻煩的,于是想到了jquery,下面是實現(xiàn)代碼
    2014-08-08
  • jQuery仿IOS彈出框插件

    jQuery仿IOS彈出框插件

    這款彈出框插件是本人自己模仿IOS原生彈出框?qū)懙囊粋€自定義插件,包括Alert彈出框和Confirm確認框,支持標題,內(nèi)容,按鈕文字以及按鈕回調(diào)函數(shù)自定義,使用非常簡單,本文給大家介紹了jQuery仿IOS彈出框插件,需要的朋友可以參考下
    2017-02-02
  • jQuery選擇器特殊字符與屬性空格問題

    jQuery選擇器特殊字符與屬性空格問題

    這篇文章主要介紹了jQuery選擇器特殊字符與屬性空格問題。通過選擇器中含有特殊符號的注意事項和選擇器中含有空格的注意事項詳細介紹了解決問題的辦法,需要的朋友可以參考下
    2017-08-08
  • jQuery ajax cache緩存問題

    jQuery ajax cache緩存問題

    在jquery里面, 大部分的時候, 屬性要用''引起來。否則容易變成變量名。比如red, 引不引都差不多。但是引起來也可以認。 所以習慣就全部引起來好了。
    2010-07-07
  • jquery交替變換顏色的三種方法 實例代碼

    jquery交替變換顏色的三種方法 實例代碼

    這篇文章主要介紹了jquery交替變換顏色的三種方法,有需要的朋友可以參考一下
    2013-11-11
  • 使用JQuery模仿實現(xiàn)淘寶搜索效果

    使用JQuery模仿實現(xiàn)淘寶搜索效果

    這篇文章主要介紹了如何利用JQuery模仿實現(xiàn)淘寶中的搜索效果,文中的示例代碼講解詳細,感興趣的小伙伴可以動手嘗試一下
    2022-04-04
  • 通過jquery的$.getJSON做一個跨域ajax請求試驗

    通過jquery的$.getJSON做一個跨域ajax請求試驗

    jquery提供了$.getJSON的方法,讓我們可以實現(xiàn)跨域ajax請求,但jqueryAPI上的內(nèi)容實在太少,如何用$.getJSON,請求網(wǎng)站應該返回怎樣的數(shù)據(jù)庫才能讓$.getJSON獲取到,下面我就用一個實際例子來說明下。
    2011-05-05
  • jquery.flot.js簡單繪制折線圖用法示例

    jquery.flot.js簡單繪制折線圖用法示例

    這篇文章主要介紹了jquery.flot.js簡單繪制折線圖用法,結(jié)合實例形式分析了jQuery插件jquery.flot.js實現(xiàn)圖形繪制的常用操作技巧,需要的朋友可以參考下
    2017-03-03
  • 詳解Jquery EasyUI tree 的異步加載(遍歷指定文件夾,根據(jù)文件夾內(nèi)的文件生成tree)

    詳解Jquery EasyUI tree 的異步加載(遍歷指定文件夾,根據(jù)文件夾內(nèi)的文件生成tree)

    本篇文章主要介紹了Jquery EasyUI tree 的異步加載,可以實現(xiàn)遍歷指定文件夾,根據(jù)文件夾內(nèi)的文件生成tree,有興趣的可以了解一下。
    2017-02-02

最新評論

囊谦县| 岱山县| 盐城市| 阜新市| 阿瓦提县| 碌曲县| 寿宁县| 安多县| 平定县| 金堂县| 雷波县| 会理县| 平远县| 府谷县| 敦化市| 屏南县| 汾西县| 油尖旺区| 舒兰市| 漳州市| 缙云县| 麻江县| 南木林县| 文安县| 承德县| 仁怀市| 靖边县| 思南县| 卢氏县| 正宁县| 开封市| 石家庄市| 那曲县| 邵东县| 巴林右旗| 那坡县| 无锡市| 茶陵县| 高平市| 南召县| 龙川县|