關於jquery的選擇器原理

2022-07-17 13:09:06 字數 833 閱讀 5469

當我們使用jquery選擇器的時候,$(s).回預設去執行jquery內部封裝好的乙個init的建構函式

每次申明乙個jquery物件的時候,返回的是jquery.prototype.init物件。

這個init不是jquery.fn上的方法,而是內部原始碼的乙個函式。

這個函式是幹什麼用的呢?

當我們使用選擇器的時候$(selector,content),就會執行init(selectot,content),我們看看inti中是怎樣執行的:

if ( typeof selector == "string") 

//是: $("#id")

else

selector =;

} //非id的形式.在context中或者是全文查詢}

else

}

這裡就說明只有選擇器寫成$('#id')的時候最快,相當於執行了一次getelementbyid,後邊的程式就不用再執行了.

但是如果我們的選擇器更加複雜的話,比如我們需要id下的css為classname, 有這樣的寫法$('#id.classname')和$('#id').find('.classname');這兩種寫法的執行結果都是一樣的。

都是先去查詢執行init,找到id了,立刻返回return。 然後再去執行find()函式方法。

find也就是到當前dom物件下去查詢選擇器。

但是如果直接$('.classname')的話, 這樣的是去執行init函式,然後到全域性全文裡,全部的dom物件乙個個查詢遍歷。

效率相比前面的低很多。

就是說第一層選擇最好是id,而是簡單選擇器,目的就是定義範圍,提高速度。

關於JQuery的選擇器

1.id 根據給定的id來匹配元素 如果選擇器包含特殊字元,可以用兩個斜槓表示轉義 比如 查詢id為 mydiv 的元素 mydiv 這樣寫就可以查詢到所有id為 mydiv 的元素了。2.element 根據元素名來匹配所有元素 比如 查詢所有div元素就可以這樣寫 div 3.根據給定的類來匹配...

Jquery關於CSS選擇器

關於css選擇器 jquery選擇器涉及到css,css技術使得網頁的結構與表現樣式完全分離。同樣css也需要找到某個網頁的結構才能改變其樣式,這就是css選擇器。常用的css選擇器如下 標籤選擇器 以文件元素作為選擇符 aid選擇器 以文件元素的唯一識別符號id作為選擇符 mynamediv 類選...

關於JQuery的選擇器(二)

9.prev siblings 匹配prev之後的所有所有siblings元素 prev 任意乙個有效選擇器,siblings 是prev的同輩選擇器 比如 10.first表示 獲取第乙個元素。11.last表示 獲取最後乙個元素。12.not selector 表示 去除所有與給定選擇器匹配的元...