欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

jquery init 方法詳解

張吉惟2年前10瀏覽0評論

在jquery中,init()方法是最核心的方法之一,它作為所有jquery對象的基礎,用于創建jquery對象、查找元素以及對元素進行處理等操作,下面我們一起來詳細了解init()方法的用法和實現原理。

一、創建jquery對象

$(selector,context)

在jquery中,$是一個重要的全局函數,它用于創建jquery對象。$()本質上就是調用了jquery.fn.init()方法,其中selector是選擇器,context是上下文對象。當傳入的參數只有一個時,$()可以直接選擇一個節點,當傳入的參數有兩個時,會在context上下文對象中查找符合selector條件的節點。

二、查找元素

find(selector)

這是常用的一個方法,它可以在被選元素的所有子元素中查找符合selector標準的元素,返回查找到的元素。find()方法在原理上和$()方法相似,都是通過調用init()方法來實現。

三、初始化元素

const $img = $("", {src: "image.jpg", width: "100px", height: "100px"});

通過$()方法創建jquery對象后,我們可以通過類似以下的方法來初始化元素:

$img.attr("src", "otherImg.jpg");
$img.css("border", "1px solid red");
$img.appendTo("body");

我們可以為元素設置屬性、樣式以及添加到某一個父元素中。

四、實現原理

jQuery.fn.init = function(selector, context, root) {
var match, elem;
//...
}

實際上,$()方法本質上就是調用了jquery.fn.init()方法,該方法的三個參數分別為selector、context、root,其中root為內部使用的。init()方法的代碼是這樣的:

this.length = 0;
// 如果selector為空,直接返回當前實例
if (!selector) {
return this;
}
if (typeof selector === "string") {
// 如果selector是字符串,進入這個分支
//...
} else if (typeof selector === "object") {
// 如果selector是一個DOM節點數組,進入這個分支
//...
}

init()方法內部實現了初始化實例屬性this.length,并且根據參數類型的不同進入不同的分支。最終init()方法會返回一個新創建的jquery對象。

總結:

通過這篇文章,我們了解了jquery init方法的用法、實現原理以及常用的場景,希望對大家對jquery有更深入的了解。