:input 匹配的是 <input>,<textarea>,<select>,<button> :button 匹配 input[type=button|reset|submit]和button :file 即 input[type=file],同理還有 :checkbox,:radio :checked 勾上的單複選框 :disabled 和 :enabled 能和不能點擊或輸入的表單元素 :focus 匹配當前焦點元素 :checkbox:checked:disabled 匹配的是不能點擊的已選中的複選框
prop() 方法用來改變影響DOM元素的動態狀態,而不是改變HTML屬性。好比: disabled、checked
參數是布爾值,表明是否複製事件,默認false。 $('.item').on('click', function(){}); $('.item').clone(true).appendTo('.list'); // 克隆 .item(包括事件)並添加到 .list
設置或者返回表單元素(input、select、textarea)的值
<div id="app">hello jquery world.</div> var $e = $("div").replaceWith("<p>你好,jquery</p>"); 返回的是 div#app 的 jQuery 對象,但已從 dom 樹中移除,頁面呈現的是p。 而 $("<p>你好,jquery</p>").replaceAll("#app") 返回的是 p 的jQuery對象。
設置或者獲取匹配元素的寬度和高度值,返回的是number(不帶單位),而$(selector).css('width')返回的是string(帶有單位)
獲取匹配的第一個元素相對於 document 的位置 返回:{left: Number, top: Number} 設置:若是元素沒有定位(即 position: static),將會修改成 relative 注意:jQuery不支持獲取隱藏元素的偏移座標。一樣的,也沒法取得隱藏元素的 border, margin, 或 padding 信息。 若元素的屬性設置的是 visibility:hidden,那麼咱們依然能夠取得它的座標。可是若設置的屬性是 display:none,因爲在繪製 DOM 樹時根本就不繪製該元素,因此它的位置屬性值是 undefined。
獲取匹配的第一個元素相對於其最近的具備定位(即position不是static)的父元素的位置 返回 {left: Number, top: Number} 不能設置。 注意:jQuery不支持獲取隱藏元素的偏移座標及所佔用的邊框,邊距和填充的大小
獲取或者設置匹配的第一個元素水平和垂直方向的位置,數值類型 垂直滾動條位置 是可滾動區域 在 可視區域上方的 被隱藏區域的高度。 若是滾動條在最上方沒有滾動 或者 當前元素沒有出現滾動條,那麼這個距離爲0 回頂部代碼 $('html,body').scrollTop(0);兼容IE 和 Chrome,瞬間回到頂部。
bind()在1.7之後被on()取代,綁定多個事件:$(selector).on('dblclick contextment', function(){}); on()也兼容zepto。可是這兩種方法的缺點是要綁定的元素必須存在文檔中。語法: $(selector).on('events'[, 'selector'][, data], handler); 其中第一個參數能夠是標準事件名,也能夠是自定義事件(經過trigger觸發),第二和第三個參數能夠省略,第二個參數爲匹配元素的後代元素,第三個參數爲傳遞給處理函數的數據,即在函數中經過 event.data 來接收。 delegate() 支持對動態建立的元素有效。語法:$('div').delegate('p', 'mousemove', function(){}); 爲div下面的p(包括將來產生的)綁定mousemove事件。
不傳參數就解綁匹配元素的全部事件,不然就解綁指定參數的事件。 $(selector).off('click', '**'); 解綁全部代理的click事件,而元素自己的事件不會被解綁。
簡單觸發:$(selector).click(); trigger()觸發事件,觸發瀏覽器行爲。$(selector).trigger("click"); triggerHandler()觸發事件響應方法,不觸發瀏覽器行爲。$(selector).triggerHandler("focus");
event.data 傳遞給事件處理程序的額外數據 event.currentTarget 等同於this,指當前DOM對象 event.target 觸發事件源,不必定是等同this(一般在事件委託中出現) event.type 事件類型 event.which 鼠標的按鍵類型:左1 中2 右3 或者鍵盤碼 event.keyCode 鍵盤碼 event.pageX 鼠標相對於文檔左部邊緣的位置
一般第一個參數爲速度(fase、normal、slow、ms),第二個參數爲一個函數,動畫完成後執行。css
動畫的中止與延時 stop()、delay()html
$.ajax({ beforeSend(){} // 發送請求以前調用的匿名函數,若是 return false; 就表明阻止該次請求,能夠用於驗證用戶輸入的數據 })
原理: return this; 一般只有設置操做才能夠鏈式操做,獲取操做時返回相應的值,沒法返回this。 end() 結束當前鏈最近的一次過濾操做,而且返回匹配元素以前的狀態。
jQuery佔用了$ 和jQuery這兩個變量,若是同一個頁面引用了jQuery庫,還引用了其餘庫或者其餘版本的jQuery也用的了$或jQuery這個變量,爲了保證每一個庫都能正常使用,就須要讓jQuery交出變量的控制權。 $.noConflict(); 交出$ $.noConflict(true); 交出$ 和 jQuery <script src="https://cdn.bootcss.com/jquery/2.2.4/jquery.min.js"></script> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> <script> // 查看版本 console.log($.fn.jquery); // 3.2.1 console.log(jQuery.fn.jquery); // 3.2.1 </script> <script src="https://cdn.bootcss.com/jquery/2.2.4/jquery.min.js"></script> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> <script> $.noConflict(); console.log($.fn.jquery); // 2.2.4 console.log(jQuery.fn.jquery); // 3.2.1 </script> <script src="https://cdn.bootcss.com/jquery/2.2.4/jquery.min.js"></script> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> <script> $.noConflict(true); console.log($.fn.jquery); // 2.2.4 console.log(jQuery.fn.jquery); // 2.2.4 </script>