比方說,我們有:的Javascript JQuery的鏈接
$("p")[0].innerHTML;
和
$("p").html();
在上面的例子中,我們有同樣的結果。所以我想知道JQuery如何返回節點列表和自身以允許鏈接?
比方說,我們有:的Javascript JQuery的鏈接
$("p")[0].innerHTML;
和
$("p").html();
在上面的例子中,我們有同樣的結果。所以我想知道JQuery如何返回節點列表和自身以允許鏈接?
所以我想知道JQuery如何返回節點列表和自身以允許鏈接?
它沒有。
它只返回自己(它是一個對象)。
該對象有一個名爲0
的屬性,它包含元素數組中的第一個元素。它還有一個名爲html
的房產,其中包含一項功能。
@TrueBlueAussie - 它[不是數組](http://jsbin.com/fadonu/1 /編輯?JS,控制檯),但即使它是,那又如何?數組(除了空數組)有一個名爲'0'的屬性。一個數組只是一個對象,它從'Array'沿着原型鏈繼承了一些屬性,並被設計爲使用以整數值作爲名稱的屬性來保存數據。 – Quentin
剛剛檢查,你是正確的。那很可愛。它意味着$(「p」)[「0」]。innerHTML'也適用於我剛剛測試過的,是的,它對每個「數組」條目都有一個數字屬性。感謝那個小小的帖子。我的無知已經減輕了+1 :) –
這比我所期待的更神奇。所以如果我理解的很好,每個用選擇器檢索到的元素都被存儲爲一個帶有數字索引的屬性? – user3292788
這就是所謂的流利的語法。每個函數都返回給定的對象。像
function f(obj){
doSomething(obj);
return obj;
}
這是因爲jQuery選擇器返回一個對象。然後,您只需調用該對象的屬性,在這種情況下是'html'和'0'。如果你使用console.log($('p'))'',你會看到列出的所有方法。 –
執行'console.log($(「p」));''和'console.log($(「p」)[0]);''''''''' –
http://stackoverflow.com/questions/7475336/how-does-jquery-chaining-work/7475375#7475375 –