jQuery常用函數(shù)

each()

為每個(gè)匹配元素規(guī)定要運(yùn)行的函數(shù),返回 false 可用于及早停止循環(huán)。

$("button").click(function(){
    $("li").each(function(){
        alert($(this).text())
    });
});      輸出每個(gè) <li> 元素的文本

map()

用于使用指定函數(shù)處理數(shù)組中的每個(gè)元素(或?qū)ο蟮拿總€(gè)屬性),并將處理結(jié)果封裝為新的數(shù)組返回。
注:

  1. 在jQuery 1.6 之前,該函數(shù)只支持遍歷數(shù)組;從 1.6 開始,該函數(shù)也支持遍歷對象。
  2. map()還會(huì)為函數(shù)傳入兩個(gè)參數(shù):其一是當(dāng)前迭代的元素或?qū)傩灾?,其二是?dāng)前迭代項(xiàng)的數(shù)組索引或?qū)ο髮傩悦?/li>
  3. 該函數(shù)返回值將作為結(jié)果數(shù)組中的一個(gè)元素,如果返回值為null或undefined,則不會(huì)被添加到結(jié)果數(shù)組中。
$('div').map(function(i, ele){
    return this.id;
});

extend()

用于將一個(gè)或多個(gè)對象的內(nèi)容合并到目標(biāo)對象。

  1. 如果只為$.extend()指定了一個(gè)參數(shù),則意味著參數(shù)target被省略。此時(shí),target就是jQuery對象本身。通過這種方式,我們可以為全局對象jQuery添加新的函數(shù)。
  2. 如果多個(gè)對象具有相同的屬性,則后者會(huì)覆蓋前者的屬性值。
<div id="log"></div>
<script>
$(function () { 
    var object1 = {
        apple: 0,
        banana: {weight: 52, price: 100},
        cherry: 97
    };
    var object2 = {
        banana: {price: 200},
        durian: 100
    };
    /* object2 合并到 object1 中 */
    $.extend(object1, object2);
    var printObj = typeof JSON != "undefined" ? JSON.stringify : function(obj) {
        var arr = [];
        $.each(obj, function(key, val) {
            var next = key + ": ";
            next += $.isPlainObject(val) ? printObj(val) : val;
            arr.push( next );
        });
        return "{ " +  arr.join(", ") + " }";
    };
    $("#log").append( printObj(object1) );
})
</script>   遍歷數(shù)組元素,并修改第一個(gè)對象

clone()

生成被選元素的副本,包含子節(jié)點(diǎn)、文本和屬性。

$("button").click(function(){
    $("p").clone().appendTo("body");
});   克隆所有的 <p> 元素,并插入到 <body> 元素的結(jié)尾

index()

返回指定元素相對于其他指定元素的 index 位置。

  1. 沒參數(shù)返回第一個(gè)元素index
  2. 如果參數(shù)是DOM對象或者jQuery對象,則返回參數(shù)在集合中的index
  3. 如果參數(shù)是選擇器,返回第一個(gè)匹配元素index,沒有找到返回-1
$("li").click(function(){
alert($(this).index());
});   獲得被點(diǎn)擊的 <li> 元素相對于它的同級元素的 index

ready()

當(dāng) DOM(document object model 文檔對象模型)加載完畢且頁面完全加載(包括圖像)時(shí)發(fā)生 ready 事件。由于該事件在文檔就緒后發(fā)生,因此把所有其他的 jQuery 事件和函數(shù)置于該事件中是非常好的做法。如上面的實(shí)例所示。ready() 方法規(guī)定當(dāng) ready 事件發(fā)生時(shí)執(zhí)行的代碼。

$(document).ready(function(){
    $("button").click(function(){
        $("p").slideToggle();
    });
});   使用 ready() 來使函數(shù)在文檔加載后是可用的
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,851評論 0 3
  • 常用方法 .each(function(index.Element)) 遍歷一個(gè)jQuery對象,為每個(gè)匹配元素執(zhí)...
    PYFang閱讀 475評論 0 0
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計(jì)者無需花費(fèi)時(shí)間糾纏JS復(fù)雜的高級特性。 1....
    LaBaby_閱讀 1,503評論 0 2
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計(jì)者無需花費(fèi)時(shí)間糾纏JS復(fù)雜的高級特性。 1....
    LaBaby_閱讀 1,274評論 0 1
  • 一 操作類的方法1.addClass(className)2.removeClass(className)3.ha...
    petertou閱讀 281評論 0 0

友情鏈接更多精彩內(nèi)容