jQuery學習筆記整理

來源:互聯網
上載者:User

標籤:one   第一個   綁定   first   jquer   --   整理   nic   uri   

一.子項目選取器.:nth-child:匹配父元素下的第N個子或者奇偶元素.注意:序號是從1開始的,而eq是從0開始計數的!它匹配的是前方選取器選擇到的元素的父元素下面的第幾個元素.例如:ul li:first-child:匹配的是<ul>下面的這個<li>的父元素的第一個孩子.判斷是否為li.見下面的代碼:

<ul>            <a href="#"></a>            <li>                <ul>                    <!--此行的li被選中,因為是其父類元素的第一個子項目,                    如果將上面的選擇條件改為ul>li:first-child的話,則沒有元素被選中-->                    <a><li></li></a>                      <li></li>                </ul>            </li>        </ul>

二.jQuery的id選取器,class選取器,名稱選取器也可以取交集,但是中間不能加逗號,也不能有任何空格!例如:$("div.div#one")

三.jQuery對象的remove方法和detach和empty方法.empty方法與兩者有本質的區別,empty方法刪除的是選取器匹配的元素的子類元素,而保留選取器的元素(即該方法刪除所有子類元素),remove方法會刪除匹配的元素,並通過傳回值返回.但是這個方法的返回的元素中會刪除綁定的事件.(注意:只能刪除在<script>標籤中的事件,而綁定在標籤上的事件將不會刪除.)而detach方法則不會刪除事件.

四.body中的Onload函數和jQuery中的ready函數的區別:
  1.onload函數只能調用一次.如果多次調用,後調用的會把前者覆蓋,ready方法可以多次調用
  2.ready函數在DOM載入完後就會調用,而onload方法需要等待大部分視頻音頻載入完才調用

五.jQuery完成編碼,有兩組方法,encodeURI和decodeURI,以及encodeURIComponent和decodeURIComponent方法.

<script type="text/javascript">//escape()不能直接用於URL編碼,它的真正作用是返回一個字元的Unicode編碼值。比如"春節"的返回結果是%u6625%u8282,escape()不對"+"編碼 主要用於漢字編碼。alert(escape("春節"));alert(unescape(escape("春節")));//encodeURI()是用來對URL編碼的函數。 編碼整個url地址,但對特殊含義的符號"; / ? : @ & = + $ , #"不進行編碼。對應的解碼函數是:decodeURI()。alert(encodeURI(‘http://baidu.com?hello=您好&word=文檔‘));alert(decodeURI(encodeURI(‘http://baidu.com?hello=您好&word=文檔‘)));//encodeURIComponent() 能編碼"; / ? : @ & = + $ , #"這些特殊字元。對應的解碼函數是decodeURIComponent()。alert(encodeURIComponent(‘http://baidu.com?hello=您好&word=文檔‘));alert(decodeURIComponent(encodeURIComponent(‘http://baidu.com?hello=您好&word=文檔‘))); </script>

六.jQuery的移動元素可以有兩種方法:例如:假定我們選中了一個div元素,需要把它移動到p元素後面。

  第一種方法是使用.insertAfter(),把div元素移動p元素後面:
  $(‘div‘).insertAfter($(‘p‘));
  第二種方法是使用.after(),把p元素加到div元素前面:
  $(‘p‘).after($(‘div‘));
  表面上看,這兩種方法的效果是一樣的,唯一的不同似乎只是操作視角的不同。但是實際上,它們有一個重大差別,那就是返回的元素不一樣。第一種方法返回div元素,第二種方法返回p元素。需要根據需要,選擇到底使用哪一種方法。

七.jQuery的事件委託處理.

  javascript的事件模型,採用"冒泡"模式,也就是說,子項目的事件會逐級向上"冒泡",成為父元素的事件。也就是說,一個事件,如果在子項目上未定義某個事件,那麼該事件會在其父類元素上一直向外傳播,直到被處理或者到達對象層次的最頂層.例如,在處理一個表格的時候,假設表格有100行,每一行都要求點擊的時候會觸發事件,那麼可能會寫下面的代碼:

$("td").click(function() {    alert("click!");});

  雖然可以這樣做,但是這樣做是及其沒有效率的,由於事件的冒泡傳播的特性,那麼實際上可以這麼處理:

$("table").click(function() {    alert("click!");//採用父類元素集中處理});

  這種方式大大的提高了效率.

八.jQuery的一些提高效能的方法:

  1.少改動DOM結構,不要頻繁使用.append()、.insertBefore()和.insetAfter()這樣的方法。

  2.js的原生函數效率要高,用js提供的for,while迴圈速度要比$.each要快

  3.由於js採用的是鏈式範圍的規則,因此對於變數能夠聲明為較近的局部變數就這麼聲明.

jQuery學習筆記整理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.