var collection = $('ul li');
collection.each(function (index) {
var test = $.extend($(this), {
// var test = $.extend(collection.eq(index), {
someProperty: 'val'
});
console.log(test.someProperty);
});
console.log(collection.eq(0).someProperty);
而且測試:http://jsfiddle.net/simo/G3yCr/1/jQuery的擴展 - 目標對象沒有得到延長
我想每個對象擴展jQuery的內部集合。我想直接從集合中的每個項目訪問屬性。
問題是爲什麼collection.eq(index)
對象沒有得到擴展。註釋行是可選的,並提供相同的結果。
該規範:http://api.jquery.com/jQuery.extend/
你正在擴展一個jQuery實例(這是'$(this)'返回的) - 並且每個回調完成後,這個實例就會消失。所以你實際上並沒有擴展「收藏」。 – Niko
好的,但即使使用下面的註釋行,測試也會失敗:'var test = $ .extend(collection.eq(index)''不會被擴展嗎? – simo
@simo'collection.eq(index)'_also_創建一個新的jQuery對象 – Alnitak