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

關于jQuery參考實例 1.0 jQuery的哲學

 更新時間:2013年04月07日 17:29:36   作者:  
本文為大家介紹關于jQuery參考實例 1.0 jQuery的哲學,有需要的朋友可以參考一下。

本文翻譯自jQuery Cookbook (O'Reilly 2009) 1.0 The jQuery Philosophy

jQuery的哲學是“寫更少的代碼,做更多的事情”,這一哲學可分述為三個概念:

  • 用CSS選擇器查找元素,并通過jQuery方法來操作這些元素
  • 在元素集上鏈式調用多個jQuery方法
  • jQuery封裝與隱式遍歷

充分理解這三個概念對于編寫jQuery代碼來說至關重要。我們來詳細看一下這三個概念。

查找元素并進行操作

更準確的說,是在DOM樹中定位一批元素,然后對該元素集進行操作。比如下面這個例子:首先向用戶隱藏一個<div>元素,然后向這個隱藏了的<div>元素內插入一些新文本,之后更改其屬性,最后重新顯示這個<div>元素。相應的jQuery代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
 <script type="text/JavaScript"
  src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
</head>
<body>
 <div>old content</div>
 <script>
  //隱藏頁面上所有的div元素
  jQuery('div').hide();
  //更新所有div元素內的文本
  jQuery('div').text('new content');
  //在所有的div元素上添加值為updatedContent的class屬性
  jQuery('div').addClass("updatedContent");
  //顯示頁面上所有的div元素
  jQuery('div').show();
 </script>
</body>
</html>

我們來逐一看一下這四個jQuery語句:

  • 隱藏頁面上所有的div元素,讓它們變得不可見
  • 用新文本('new content')來替換隱藏的div元素中的原有文本
  • 向div元素添加新的class屬性值(updatedContent)
  • 在頁面上重新顯示div元素

上面的例子使用jQuery函數查找HTML頁面中所有的<div>元素,然后用jQuery方法對其進行操作(hide(), text(), addClass(), show())。

鏈式調用

在調用jQuery方法的時候,按照jQuery的設計,可以對這些方法進行鏈式調用。比如,只做一次元素查找,然后在找到的元素上展開一系列操作。之前的代碼示例可以用鏈式調用重寫為一句JavaScript語句。

使用鏈式調用,可以將下面的代碼:

//隱藏頁面上所有的div元素
jQuery('div').hide();
//更新所有div元素內的文本
jQuery('div').text('new content');
//在所有的div元素上添加值為updatedContent的class屬性
jQuery('div').addClass("updatedContent");
//顯示頁面上所有的div元素
jQuery('div').show();

重寫成:

jQuery('div').hide().text('new content').addClass("updatedContent").show();

如果加上代碼縮進就是:

jQuery('div')
 .hide()
 .text('new content')
 .addClass("updatedContent")
 .show();

簡單地說,鏈式調用允許在當前選擇的元素集上,將無限個jQuery方法連在一起使用。究其實質,用jQuery方法處理的元素總會在方法處理完畢之后得到返回,因此鏈式調用可以一直繼續(xù)。jQuery的插件也是這樣設計的(返回封裝的元素集),因此使用插件并不會影響鏈式調用。

鏈式調用的另一個好處是通過只選擇一次DOM元素來節(jié)省開銷。避免遍歷DOM樹,對于網頁性能提升來說至關重要,因此需要盡可能重用或者緩存已選擇的DOM元素集。

jQuery封裝

在大多數情況下,如果使用了jQuery,那么必定會和一個叫做“jQuery封裝”的東西打交道。換而言之,用jQuery從HTML頁面上選擇出來的元素會被封裝上一層jQuery提供的功能。我個人喜歡把這個東西叫做“封裝元素集”,因為它是一個封裝了jQuery功能的元素集合。這個封裝元素集有時包含一個DOM元素,有時包含多個,有時甚至里面什么都沒有。當封裝元素集為空時,在其上調用的jQuery方法/屬性不會拋出任何錯誤 — 這樣做可以避免不必要的if語句。

還是以上面的HTML代碼為例,當網頁中存在多個<div>元素的時候會怎么樣?在下面的例子中,HTML頁面多了3個<div>元素:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
 <script type="text/JavaScript" src="http://ajax.googleapis.com/ajax/libs/
  jquery/1.3.0/jquery.min.js"></script> </head>
<body>
 <div>old content</div>
 <div>old content</div>
 <div>old content</div>
 <div>old content</div>
 <script>
  jQuery('div').hide().text('new content').addClass("updatedContent").show();
 </script>
</body>
</html>

在上面的例子中并沒有任何表示循環(huán)的編程代碼。但奇妙的是,jQuery會掃描整個頁面,然后將所有的<div>元素放到封裝元素集中,之后對該封裝集中的每一個元素(隱式遍歷)執(zhí)行代碼定義的一系列jQuery方法。比如,封裝集中的每一個元素都調用了.hide()。在上述代碼中,實際上我們使用的每一個方法(hide(), text(), addClass(), show())都在頁面中所有的div元素上起了作用,就像人為寫了一個循環(huán)方法來遍歷DOM元素一樣。上述代碼的執(zhí)行結果是:頁面中的每一個<div>元素都被隱藏,更改內含文本,添加class屬性,并最終重新顯現。

熟悉封裝元素集和隱式遍歷對于編寫復雜的循環(huán)邏輯來說非常重要 — 需要留意的是,在寫任何額外的循環(huán)代碼之前,一個簡單的循環(huán)操作已經存在了(比如:jQuery(‘div').each(function(){})。換而言之,jQuery方法的調用會影響封裝元素集中的每一個元素。

需要注意的是,有一些jQuery方法的行為特殊,只會影響封裝元素集中的第一個元素(比如:attr())。


相關文章

  • jQuery控制元素隱藏和顯示

    jQuery控制元素隱藏和顯示

    本篇文章主要介紹了jQuery控制元素隱藏和顯示的相關知識,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • jQuery中ajax錯誤調試分析

    jQuery中ajax錯誤調試分析

    jQuery中把ajax封裝得非常好。但是日常開發(fā)中,我偶爾還是會遇到ajax報錯。本文進行簡單分析一下ajax報錯。需要的朋友可以參考下
    2016-12-12
  • jquery.masonry瀑布流效果

    jquery.masonry瀑布流效果

    這篇文章主要為大家詳細介紹了jquery.masonry瀑布流效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Jquery操作Ajax方法小結

    Jquery操作Ajax方法小結

    這篇文章主要介紹了Jquery操作Ajax方法小結的相關資料,需要的朋友可以參考下
    2015-11-11
  • jQuery藍色風格滑動導航欄代碼分享

    jQuery藍色風格滑動導航欄代碼分享

    這篇文章主要為大家詳細介紹了jQuery藍色風格滑動導航欄特效,實現滑塊跟隨鼠標左右滑動,簡單、時尚、大方,有需要的小伙伴可以參考下
    2015-08-08
  • jQuery中:button選擇器用法實例

    jQuery中:button選擇器用法實例

    這篇文章主要介紹了jQuery中:button選擇器用法,實例分析了:button選擇器的功能、定義及選取按鈕的使用技巧,需要的朋友可以參考下
    2015-01-01
  • Bootstrop實現多級下拉菜單功能

    Bootstrop實現多級下拉菜單功能

    Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它簡潔靈活,使得 Web 開發(fā)更加快捷。本文重點給大家介紹bootstrap實現多級下拉菜單功能的實例代碼,感興趣的朋友一起學習吧
    2016-11-11
  • jquery手機觸屏滑動拼音字母城市選擇器的實例代碼

    jquery手機觸屏滑動拼音字母城市選擇器的實例代碼

    下面小編就為大家分享一篇jquery手機觸屏滑動拼音字母城市選擇器的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • 使用jquery實現IE下按backspace相當于返回操作

    使用jquery實現IE下按backspace相當于返回操作

    后退鍵在各瀏覽器下默認為點擊了一下后退按鈕,下面為大家介紹下如何實現實現IE下按backspace相當于返回操作,需要的朋友可以參考下
    2014-03-03
  • jQuery事件_動力節(jié)點Java學院整理

    jQuery事件_動力節(jié)點Java學院整理

    這篇文章主要為大家詳細介紹了jQuery事件的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07

最新評論

修文县| 景德镇市| 萝北县| 邯郸市| 讷河市| 敦化市| 竹溪县| 汨罗市| 富阳市| 同仁县| 湘阴县| 将乐县| 永春县| 阿瓦提县| 武川县| 斗六市| 伊宁市| 西林县| 上蔡县| 凉山| 盐边县| 靖安县| 萝北县| 昌平区| 芮城县| 璧山县| 布尔津县| 乡宁县| 神农架林区| 原平市| 绵阳市| 中卫市| 曲周县| 农安县| 闽侯县| 湟中县| 顺义区| 山西省| 方正县| 依兰县| 辽宁省|