jQuery基礎

 JQuery官方網站css

 http://jquery.com/html

 

1JQuery概念jquery

A、Jquery是一個優秀的Javascript框架。它是輕量級的js庫 ,它兼容CSS3,還兼容各類瀏覽器,jQuery2.0及後續版本將再也不支持IE6/7/8瀏覽器。jQuery使用戶能更方便地處理HTML documents、events、實現動畫效果,而且方便地爲網站提供AJAX交互。jQuery還有一個比較大的優點是,它的文檔說明很全,並且各類應用也說得很詳細,同時還有許多成熟的插件可供選擇。jQuery可以使用戶的html頁面保持代碼和html內容分離,也就是說,不用再在html裏面插入一堆js來調用命令了,只需定義id便可。編程

B、JavaScript的缺點:控件的操做方式不統一,不一樣瀏覽器容易出觀兼容問題。爲了簡化操做,出現了許多對JavaScript封裝的函數庫好比Prototype、JQuery等。數組

C、JQuery的優勢:小巧、方便、功能強大。插件豐富、開源、免費。瀏覽器

D、VS在VS2010中已經實現自動完成功能,VS2008須要安裝VSSP1補丁和VS90SP1-KB958502-X86補丁才能更好的支持,而後引用jquery-1.4.1.js,jquery-1.4.1-vsdoc.js放在同目錄下,VS2008中才會有自動提示和自動完成功能。cookie

E、JQuery文件說明:app

       jquery-1.4.2.js是JQuery主文件。框架

       jquery-1.4.2.min.js是壓縮板JQuery主文件。dom

       jquery-1.4.2-vsdoc.js是JQuery在VS中的自動提示功能。

 

2JQueryReady

A、JQuery的read和Dom onload的區別:onload是全部Dom元素建立完畢觸發,而ready則是Dom元素建立完就觸發,這樣能夠提升網頁的響應速度。

 

3JQuery內置函數

A、$.map(array, function)函數:對數組array中每一個元素調用function函數逐個處理,function函數處理返回一個新的數組。如:

       var array = [3, 6, 9];

var arrary2 = $.map(array, function(item) { return item * 2 });

for (var i = 0; i < arrary2.length; i++) {

alert(arrary2[i]);

};

       或: alert(arrary2);

       注: $.map函數不能處理dictionary風格的數組。

B、$.each(array, function)對array每一個元素進行處理,但沒有返回值。

       var array = ["TOM", "湯姆", "Jerry", "傑瑞"];

$.each(array, function() { alert(this); });

或:

var dict = { "TOM": 20, "Jerry": 50 };

$.each(dict, function(key, value) { alert(key + "=" + value); });

 

4JQuery對象與Dom對象

A、JQuery對象是經過對Dom對象的封裝產生的對象。

B、Dom對象要想經過JQuery進行操做,須要先轉換成JQuery對象。

       $(‘#div1’).html等價於:document.getElementByid(‘div1’).innerHTML;

       $(‘#div1’)獲得的是JQuery對象,JQuery對象能夠調用JQuery對象封裝的方法,不能調用Dom對象的方法,Dom對象也不能調用JQuery對象的方法。

C、將Dom對象轉換成JQuery對象的方法,$(Dom對象)。當調用JQuery沒有封裝的方法時必須用Dom對象,轉換方法:var docobj = jqobj[0]或var domobj=jqobj.get(0)。

D、樣式的修改:

JQuery修改樣式方法:$(「#div1」).css(「background」, 「red」);

JQuery得到樣式的方法:$(「#div1」).css(「background」);

   修改value值方法:

       JQuery修改value方法: $(「#div1」).val(「Dragon」);

       JQuery得到value方法: $(「#div1」).val();

 

5、JQuery選擇器

A、JQuery選擇器用於查找知足條件的元素,好比可使用$(「#控件id」)來根據控件id得到控件的JQuery對象。至關於getElementByid。

B、$(「TagName」)來獲取全部指定簽名的JQuery對象,至關於getElementsByTagName。

C、CSS選擇器,同時選擇擁有某個樣式的多個元素:

       $(「.text」).click(function(){alert($(this).text();)});

D、多條件選擇器:$(「p,div,span.menuitem」),同時選擇p標籤、div標籤和擁有menuitem樣式的span標籤。

E、層次選擇器:

       一、$(「div li」)獲取div下的全部li標籤(後代,子、子的子標籤…)。

       二、$(「div > li」)獲取div下的直接li子標籤。

       三、$(「.menuitem + div」)獲取樣式名爲menuitem以後的第一個div標籤。

       四、$(「.menuitem ~ div」)獲取樣式名爲menuitem以後的全部div標籤。

 

6、JQuery隱式迭代

A、注:若是用隱式迭代就會不容易發現錯誤。

       $(function(){

              var elements = $(「#btn1」);

              If (elements.length <= 0){

                     alert(「沒有找到提定對象」);

                     return;

       }

       elements.mouseover(function(){ alert(「找到了」)});

 

7、節點遍歷

A、next()方法用於獲取節點以後的挨着的第一個同輩標籤,$(「.menuitem」).next(「div」)、nextAll()方法用於獲取節點以後的全部同輩標籤。

B、siblings()方法用於獲取全部同級標籤。

 

8、鏈式編程

A、JQuery能夠實現鏈式編程

9、JQuery過濾選擇器

A、:first選擇第一個標籤。$(「div:first」)選取第一個<div>。

B、:last選取最後一個標籤。$(「div:last」)選取最後一個<div>。

C、:not選取不知足選擇器條件的標籤。$(「input:not(.myclass)」)選取樣式名不是myclass的<input>標籤。

D、:even、:odd,選取索引是奇數、偶數的標籤:$(「input:event」)選取索引是奇數的<input>。

E、:eq、:gt、:lt選取索引等於、大於、小於索引序號的標籤,好比$(「input:lt(1)」)選取索引小於1的<input>。

F、$(「:header」)選取全部的h1…h6標籤。

G、$(「div:animated」)選取正在執行動畫的<div>標籤。

 

10、屬性過濾選擇器

A、$(「div[id]」)選取有id屬性的<div>。

B、$(「div[title=test]」)選取title屬性爲「text」的<div>。

C、$(「div[title!=test]」)選取title屬性不爲「text」的<div>。

 

11、表單對象選擇器

A、$(「#form1:enabled」)選取id爲form1的表單內全部啓用的標籤。

B、$(「#form1:disabled」)選取id爲form1的表單內全部禁用的標籤。

C、$(「#form1:checked」)選取全部選中的標籤。(checkBox)。

D、$(「#form1:selected」)選取全部選中的選項標籤。(下拉列表)。

 

12、JQuery的Dom操做

A、使用html()方法讀取或設置標籤的innerHTML:

       alert($「a:first」).html());

       $(「a:first」).html(「hello」);

B、使用text()方法讀取或設置標籤的innerText:

       alert($(「a:first」).text());

       $(「a:first」).text(「hello」);

C、使用att()方法讀取或設置標籤的屬性:

       alert($(「a:first」).attr(href」));

       $(「a:first」).attr(「href」, http://www.rupeng.com);

D、使用removeAttr刪除屬性。

 

13、動態建立Dom節點

A、使用$(html字符串)來建立Dom節點,返回一個JQuery對象,而後調用append方法將新建立的節點添加到Dom中

       var link = $(「<a href=’http://www.baidu.com’>百度</a>」);

       $(「div:first」).append(link);

       Append方法用來在標籤的末尾追加標籤。

       prepend在標籤的開始添加標籤。

       after在標籤以後添加標籤。

       before在標籤以前添加標籤。

 

14、刪除節點

A、remove()刪除選擇的節點。

       如:清空ul中的項。$(「ul li.testitem」).remove();刪除ul下的li id=testitem的標答。

B、remove()方法返回值是被刪除的節點對象,還能夠繼續使用刪除的節點。

       var lis = $(「#ulsite li」).remove();

       $(「#ulsite2」).append(lis);

C、empty()是將節點清空。

 

15、設定按鈕的啓用時間

<script type=「text/javescript」>

       var leftseconds = 10

       var intervalid;

       $(function(){

              $(「#btnReg」).attr(「disabled」,true);

              Intervalid = setInterval(「countDown()」,1000);

       }

 

       Function CountDown(){

              if(leftseconds <= 0){

                     $(「#btnReg」).val(「贊成」);

                     $(「#btnReg」).attr(「disabled」,false);

                     clearIntervalid(Intervalid);

                     return;

              }

              Leftseconds--;

              $(「#btnReg」).val(「請仔細閱讀」+ Leftseconds + 「」);

       }

</script>

 

16、樣式操做

A、獲取樣式attr(「class」),設置樣式attr(「class」, 「myclass」)。

B、追加樣式addclass(「myclass」)。

C、移除樣式removeclass(「myclass」)。

D、切換樣式togleclass(「myclass」)。若是存在則去掉樣式,若是不存在則添加。

E、判斷樣式是否存在:hasclass(「myclass」)。

 

17、RadioButton操做

A、取RadioButton選中值:

$(「input[name=gender]:checked」).val()

       <input id= 「radio1」 checked= 「checked」 name= 「gender」 type= 「radio」 value= 「男」 />男

       <input id= 「radio2」 checked= 「checked」 name= 「gender」 type= 「radio」 value= 「女」 />女

       <input id= 「radio3」 checked= 「checked」 name= 「gender」 type= 「radio」 value= 「未知」 />未知

B、設置RadioButton選中值:

       $(「input[name=gender]」).val([「女」]);

 

18、事件

A、JQuery中事件的綁定:$(「#btn」).bind(「click」,function(){})。

JQuery用$(「#btn」).click(function(){})來簡化。

B、調用事件對象的stopPropagation()方法終止事件冒泡。

C、阻止默認行爲: 好比超連接點擊後會轉向新的連接。若是想阻止默認行爲只要調用事件對象的preventDefault()方法。

D、屬性:pageX、pageY、target得到觸發事件的元素(冒泡的起始,和this不同)。

   which若是是鼠標事件得到按鍵(1左鍵,2中鍵,3右鍵)。

   altKey、shiftKey、ctrlKey得到alt、shift、ctrl是否按下,爲bool值。

   keyCole、charCode屬性發生事件時的keyCode、charCode。

E、移除事件綁定:unbind()方法便可移除元素上綁定的事件,若是bind(「click」)則移除click事件的綁定。

F、一次性事件:若是綁定的事件只想執行一次隨後當即unbind可使用one()方法進行綁定。

 

19、動畫

A、show、hide()方法用於顯示、隱藏標籤。用toggle()方法在顯示、隱藏之間切換。

       $(「:button[value=show]」).click(function(){$(「div」).show();});

       $(「:button[value=hide]」).click(function(){$(「div」).hide();});

B、show、hide能夠帶參數使用。fast(200毫秒)、normal(400毫秒)、slow(600毫秒)。

 

20、JQuery cookie

A、使用方法:

       一、添加對jquery.cookie.js引用。

       二、設置,$.cookie(‘名字’, ‘值’)。cookie中保存的值是文本。

       三、讀取,var v = $.cookie(‘名字’)

B、$.cookie(‘名字’, ‘值’,{expires:7,path:’/’,domain:’baidu.com’,secure:true});

expires 保存的天數。

path 設置網站那些目錄下的文件能夠讀取。

domain 保存的是哪一個域名的。

 

21、JQueryUI

 

22、JQuery輔助工具

A、DebugBar

B、IE開發人員工具

相關文章
相關標籤/搜索