jQuery就像一個大的功能庫,給咱們返回一個有不少方法、屬性的對象,而後咱們調用它的方法、屬性就好了。javascript
和Javascript同樣,使用鏈式代碼。一旦找到新的元素,以後的鏈就操做在新元素上,而不是一開始的元素。css
通常的javascript變量沒法使用jquery方法,使用$("")
封裝,使其能夠使用jquery方法。java
var fish = document.getElementById("fish"); $("fish").remove();
jQuery選擇器$("jQuery選擇器")
和css選擇器同樣,能夠是.
能夠是#
能夠是標籤
jquery
$("div") $(".color") $("#mylove") $("div ul .yellow") $("#color.yellow") $("#blur > .pic")
jQuery: $(document).ready(function(){ //your code }); JavaScript: window.onload=function(){ //your code };
綁定事件數組
jQuery: $("#button").on("事件名稱",function(){ //事件名稱:click/mousemove/keypress... //your code }) Javascript: var button=document.getElementById("button1"); button.事件名稱=function(){ //事件名稱:onclick/onmousemove/onkeypress... //your code }
綁定多個事件瀏覽器
jQuery: $("#click").bind("click",function(){ //jQuery自動判斷瀏覽器類型並作調整 //your code }); JavaScript: var click=document.getElementById("click"); if(window.attachEvent){ click.attachEvent("click",function(){ //IE8或以前 //your code }); }else{ click.addEventListener("click",function(){ //除了IE8或以前 //your code }); }
解綁事件app
jQuery: //jQuery自動判斷瀏覽器類型並作調整 $("#click").unbind("click"); 刪除 click 事件 $("#click").unbind(); 刪除全部事件 JavaScript: var click=document.getElementById("click"); click.removeEventListener("click"); //除了IE8或以前 click.detachEvent("click"); //IE8或以前
單擊ide
jQuery: $("#click").click(function(){ //your code }); JavaScript: document.getElementById("click").onclick=function(){ //your code };
觸發事件trigger()
this
jQuery: $("#click").click(function(){ //your code }); $("#click").trigger("click");
綁定並只執行一次事件code
jQuery: $("#button").one("事件名稱",function(){ //事件名稱:click/mousemove/keypress... //your code })
each()
jQuery: $("p").each(function(){ //your code }); JavaScript: var p=documentElementsByTagName("p"); for(var i in p){ p[i] = //yourcode; };
slideUP() 向上收起 slideDown() 向下展開 slideToggle() fadeIn(速度/ms) 漸入 $.contains(xxx,yyy); 判斷 元素xxx 中是否是有 元素yyy
添加元素
jQuery: $("div").append("<p>hello!</p>"); 直接在 div 後面添加元素 p ,p 的內容爲 hello! $("div").append($("#color")); 在 div 後面添加本代碼中 id="color" 的元素 JavaScript: var div=document.getElementById("div"); var p=doucment.createElement("p"); div.appendChild(p);
$("div").before("<p>hello!</p>"); //在 div 上(前)面插入 "<p>hello!</p>" $("div").after("<p>hello!</p>"); //在 div 下(後)面插入 "<p>hello!</p>"
$("div").wrap("<a>i`m yellow!</a>"); // <div> 下添加子元素 <a>
刪除元素
$("div#color").empty(); //empty 方法將元素內容清除,但不刪除元素 $("div#color").remove(); //remove 方法直接將元素刪除 $("div#color").detach(); //detach 方法將元素刪除後暫存在瀏覽器的內存裏, var $L=$("div#color").detach(); //能夠將detach賦給一個變量,刪除的元素將能夠像數組同樣存在變量裏
獲取元素
$("#fish").eq(n); //找到 $("#fish") 下面第 n 個子元素,並封裝成jquery對象
$("#fish").parent(); //id=fish 的元素的父元素 $("#fish").children(); //id=fish 的元素的子元素 $("#fish").prev(); //id=fish 的元素的上(前)一個元素 $("#fish").next(); //id=fish 的元素的下(後)一個元素 $("#fish").parents(); //id=fish 的元素的全部父元素 $("#fish").siblings(); //id=fish 的元素的全部同級元素 $("#fish").closest("ul"); //離 id=fish 最近的 ul $(".fish").first(); //取全部 class=fish 元素中第一個元素 $(".fish").eq(n); //取全部 class=fish 元素中第 n 個元素 $(".fish").last(); //取全部 class=fish 元素中最後一個元素 $(".fish").slice(a,b); //取 class=fish 中 a 和 b 之間的全部元素,不包括 a 和 b $(".fish").filter(); //取 class=fish 裏面符合 括號裏規則 的全部元素 $(".fish").not(); //取 class=fish 裏面不符合 括號裏規則 的全部元素 $("#fish").parent().parent().next().remove(); //隨意組合 $("#fish").closest("ul").parents(); //隨意組合 $(".fish").parents().filter(".yellow"); //隨意組合 $(".fish ul").children().not("#yellow"); //隨意組合
替換元素
$("#fish").replaceWith("<p>hello!</p>"); //把 id=fish 的元素替換成 <p>hello!</p>
查找元素index()
<ul> <li id="yellow">yellow</li> <li id="blue">blue</li> <li id="purple">purple</li> </ul> jQuery: var index = $("ul > li").index($("#yellow")); //查找ul下li裏#yellow的元素的索引號
jQuery: $(this).click(function(){}); JavaScript: this.click=function(){};
CSS
的操做jQuery中有addClass
、removeClass
這樣的命令來直接對單個CSS類
進行操做
JavaScript有className
、classList
這樣的命令,只能對所有CSS類
進行操做
jQuery: $("p").addClass("yellow"); $("p").removeClass("yellow"); JavaScript: p.className= //your code; p.classList.add(""); p.classList.remove("");