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("");