天天看點

JQuery初體驗

  最近從朋友那兒聽說,寫JavaScript,JQuery是個不錯的東東,市場佔有率達到70%之巨。是以去下載下傳了一份體驗了一下。

  在JQuery的網站上發現,這個東東提供兩種版本下載下傳。一種是原版,接近120K,另一種是把水分壓縮掉的,近60K。太久沒做應用技術了,沒想到居然出來了這麼多新鮮玩意兒,JavaScript還可以壓縮水分,是以順便又去了解了一下JavaScript的Packer(這是線上連結),如果有興趣,這裡可以下載下傳它的.NET、Perl、Wsh和PHP等幾個版本。

  不扯遠了,說回正題。壓縮版的JQuery的确合适網絡傳輸提速,但壓縮後的JQuery隻有一行,不怎麼适合VCS(版本控制系統)管理。是以還是先用非壓縮版的,以後釋出産品的時候再壓縮就好。

  在SVN上建立好項目之後,寫了個Readme上去,因為涉及到配置之類的東西,用純文字寫的不友善閱讀,是以用HTML寫。之是以不用WPS(或Word)寫,同樣是因為VCS的原因,還是非二進制的文本好控制些。不過HTML裡面的Header沒得Word的自動編号功能,如果哪天在一堆Header中間插入一個,就要把後面的編号全部打亂,改起來痛苦。是以就想起了JQuery,用它來編号,順便小試下牛刀。

  1. $(function () {  
  2.     var indexs = [0, 0, 0];  
  3.     $(":header").each(function () {  
  4.         var content = $(this).html();  
  5.         if ($(this).is("h1")) {  
  6.             indexs[0]++;  
  7.             indexs[1] = 0;  
  8.             content = "" + indexs[0] + ". " + content;  
  9.         } else if ($(this).is("h2")) {  
  10.             indexs[1]++;  
  11.             indexs[2] = 0;  
  12.             content = "" + indexs[0] + "." + indexs[1] + ". " + content;  
  13.         } else if ($(this).is("h3")) {  
  14.             indexs[2]++;  
  15.             content = "" + indexs[0] + "." + indexs[1] + "." + indexs[2] + ". " + content;  
  16.         }  
  17.         $(this).html(content);  
  18.     });  
  19. });

  哈哈,效果還不錯。但其實這個代碼是第二版了,最開始的時候是按h1、h2、h3來搜尋的,處理起來還要麻煩些。特别是h3還放在一個class為content的div裡面,用JQuery選項的時候還用到了:first過濾器,像這樣:

  1. var h3 = $(this).nextAll(".content:first").children("h3");  
  1. $(".path").each(function () {  
  2.     var content = $(this).html();  
  3.     content = content.replace(/(\$\(.*?\))/, "<span class='var'>$1</span>")  
  4.     $(this).html(content);  
  5. });