jQuery常用方法總結

在這里我總結了一些jQuery中一些常用的方法,來供大家學習使用。

$("#box").css("width",500)

這里的#box可以為id名class名標簽名,還支持一些css3選擇器。

基本選擇器

$("div")//選擇所有的div標簽元素,返回div元素數組
$(".myClass")//選擇使用myClass類的css的所有元素
$("*")//選擇文檔中的所有的元素
$("#myELement,div,.myclass")//可以運用多種的選擇方式進行聯合選擇

層疊選擇器:

$("form input")//選擇所有的form元素中的input元素
$("#main > *")//選擇id值為main的所有的子元素
$("label + input")//選擇所有的label元素的下一個input元素節點,經測試選擇器返回的是label標簽后面直接跟一個input標簽的所有input標簽元素
$("#prev ~ div")//同胞選擇器,該選擇器返回的為id為prev的標簽元素的所有的屬于同一個父元素的div標簽

基本過濾選擇器:

$("tr:first")//選擇所有tr元素的第一個
$("tr:last")//選擇所有tr元素的最后一個
$("input:not(:checked) + span")//過濾掉:checked的選擇器的所有的input元素
$("tr:even")//選擇所有的tr元素的第0,2,4... ...個元素(注意:因為所選擇的多個元素時為數組,所以序號是從0開始)
$("tr:odd")//選擇所有的tr元素的第1,3,5... ...個元素
$("td:eq(2)")// 選擇所有的td元素中序號為2的那個td元素   
$("td:gt(4)")//選擇td元素中序號大于4的所有td元素
$("td:lt(4)")//選擇td元素中序號小于4的所有的td元素
$(":header")//匹配如 h1, h2, h3之類的標題元素
$("div:animated")//匹配所有正在執行動畫效果的div元素

內容過濾選擇器:

$("div:contains('John')")//選擇所有div中含有John文本的元素
$("td:empty")//選擇所有的為空(也不包括文本節點)的td元素的數組
$("div:has(p)")//選擇所有含有p標簽的div元素
$("td:parent")//選擇所有的以td為父節點的元素數組

可視化過濾選擇器:

$("div:hidden")//選擇所有的被hidden的div元素
$("div:visible")//選擇所有的可視化的div元素

屬性過濾選擇器:

$("div[id]")//選擇所有含有id屬性的div元素
$("input[name='newsletter']")//選擇所有的name屬性等于'newsletter'的input元素
$("input[name!='newsletter']")//選擇所有的name屬性不等于'newsletter'的input元素
$("input[name^='news']")//選擇所有的name屬性以'news'開頭的input元素
$("input[name$='news']")//選擇所有的name屬性以'news'結尾的input元素
$("input[name*='news']")//選擇所有的name屬性包含'news'的input元素
$("input[id][name$='man']")//可以使用多個屬性進行聯合選擇,該選擇器是得到所有的含有id屬性并且name屬性以man結尾的input元素

子元素過濾選擇器:

$("div span:first-child")// 返回所有的div元素的第一個子節點的數組
$("div span:last-child")//返回所有的div元素的最后一個節點的數組
$("div button:only-child")//返回所有的div中只有唯一一個子節點的所有子節點的數組

表單元素選擇器:

$(":input")//選擇所有的表單輸入元素,包括input, textarea, select 和 button
$(":text")//選擇所有的text input元素
$(":password")//選擇所有的password input元素
$(":radio")//選擇所有的radio input元素
$(":checkbox")//選擇所有的checkbox input元素
$(":submit")//選擇所有的submit input元素
$(":image")//選擇所有的image input元素
$(":reset")//選擇所有的reset input元素
$(":button")//選擇所有的button input元素
$(":file")//選擇所有的file input元素
$(":hidden")//選擇所有類型為hidden的input元素或表單的隱藏域

表單元素過濾選擇器:

$(":enabled")//選擇所有的可操作的表單元素
$(":disabled")// 選擇所有的不可操作的表單元素
$(":checked")//選擇所有的被checked的表單元素
$("select option:selected")//選擇所有的select 的子元素中被selected的元素

注意以上這些都必須加雙引號。除了以下不加引號。

$(this)
$(document)
$(window)

jquery提供非常簡短的代碼便可實現動畫效果(注意:對于同一物體只能在上一動畫完成后才執行下一動畫,不同物體的動畫是同時進行的)。

1$("div").animate({"width":600},1000);

序與迭代

eq()方法
我們可以通過eq()方法來精確找到某個序列中的某個元素。

$(".box2 p").eq(1)//Class名為box2下的1號下標p元素
$("p").eq(5)//下標為5的p元素

index()方法
返回這個元素在親兄弟中的排名,無視選擇器怎么選。

1$(".teshu").click(function(){
2   alert($(this).index());
})//點擊class名為teshu物體彈出他在親兄弟中的排名。

each()
each()表示遍歷節點,也叫作迭代符合條件的節點(好比for循環)。

1$("p").each(function(i){
2   $(this).animate({"width":50 * i},1000);
});//將p標簽的寬度依次遞增50px

length屬性
一共有幾個p

1$("p").length

get()方法
get()方法和eq()方法基本一致,eq()返回的是jQuery對象,get()返回的是原生JS對象。原生對象后面要跟著原生屬性、方法:

$("p").eq(2).html("哈哈哈哈哈哈");

等價于:

$("p").get(2).innerHTML = "哈哈哈哈哈哈";

等價于:

$("p").eq(2)[0].innerHTML = "哈哈哈哈哈哈";

動畫相關方法

show()顯示、hide()隱藏、toggle()切換,
如果show()、hide()、toggle()里面有數值,將變為動畫。

$("div").show([時間],[回調函數]);//語法
$("div").show();//讓一個本身是display:none;元素顯示
$("div").hide();//隱藏元素display:none;
$("div").toggle();//切換顯示狀態。自行帶有判斷,如果可見,就隱藏;否則顯示。

slideDown()、slideUp()、slideToggle()方法

slideDown : 下滑展開
slideUp:上滑收回
slideToggle : 滑動切換

$("div").slideUp();
$("div").slideDown();
$("div").slideToggle();

fadeIn()、fadeOut()、fadeTo()、fadeToggle()方法

fadeIn()淡入
fadeOut()淡出
fadeTo() 淡到那個數
fadeToggle() 淡出入切換

$("div").fadeIn(5000);
$("div").fadeOut(5000);
$("div").fadeTo(1000,0.3);
$("div").fadeToggle(5000);

stop()

停止當前的animate動畫,但是不清除隊列,立即執行后面的animate動畫:

$("div").stop();

停止當前的animate動畫,并且清除隊列,盒子留在了此時的位置:

$("div").stop(true); 

瞬間完成當前的animate動畫,并且清除隊列:

$("div").stop(true,true);

瞬間完成當前的animate動畫,但是不清楚隊列,立即執行后面的動畫:

$("div").stop(false,true);

finish()

finish()瞬間完成所有動畫隊列!

$("div").finish();

delay()

elay延遲,延遲指定秒數后執行。

$("div").delay(1000).animate({"left":500},1000);
$("div").delay(1000).slideUp();
$("div").delay(1000).hide(1);//必須寫1,寫1了就是運動

is(":animated")

is()方法表示身份探測,返回true、false。
is表示“是不是”,而不是“是”

$(this).is(".t")//判斷p是不是有t這個類
is(":animated")//判斷這個元素是否在運動中。

可以用該方法來防止動畫的積累,判斷div有動畫就跳出函數不執行。

if($("div").is(":animated")){
        return;
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 請記得在進行JQuery類庫的運用時,加入JQuery類庫,并且要保證先寫文檔就緒函數 $(document).r...
    Sunshinemm閱讀 2,919評論 1 40
  • 通過jQuery,您可以選取(查詢,query)HTML元素,并對它們執行“操作”(actions)。 jQuer...
    枇杷樹8824閱讀 670評論 0 3
  • 原文鏈接 http://blog.poetries.top/2016/10/20/review-jQuery 關注...
    前端進階之旅閱讀 16,679評論 18 503
  • 隱藏元素的hide方法 讓頁面上的元素不可見,一般可以通過設置css的display為none屬性。但是通過css...
    老夫撩發少年狂閱讀 1,109評論 0 2
  • 警告請使用 document.write() 僅僅向文檔輸出寫內容。如果在文檔已完成加載后執行 document....
    鹿守心畔光閱讀 2,858評論 3 104