2011-01-20 43 views
0

好,所以在jQuery;

我有一個selecter $("#gmap")

我想要做的代碼很多,我選擇的背景。我一直很懶,使用.each(),即使只有其中一個。

$("#gmap321654987789").each(function(){ 
$(this)..... 
}); 

這是否特別有效?我討厭不覺得「正確」的代碼。

有沒有一種說法......或類似的機制。

$("#gmap321654987789").this(function(){ 
$(this)..... 
}); 
+0

什麼變成了舊的`=`運算符? – Boldewyn 2011-01-20 13:35:12

+0

我不認爲這樣做效率低下 – qwertymk 2011-01-20 13:35:53

回答

1

只是緩存對象和它一樣正常工作:

var $gmap = $('#gmap321654987789'); // Get your jQuery object 
console.log($gmap); 
console.log($gmap.text()); 
1

你只可以:

var myElement = $("#gmap321654987789"); 
myElement.... 
+0

我猜他希望能夠在連鎖店做到這一點 – qwertymk 2011-01-20 13:34:42

+0

什麼阻礙了他? 'myelement.css('foo','bar')。hide()。show()...' – Boldewyn 2011-01-20 13:36:03

2

好,如果只有一個一個他們(應該是因爲你被選擇的ID),你可以鏈方法$("#gmap").val("new").attr('someattr','') .etc

0

你也可以嘗試在JS中「與」,所以你專注於道具你的物體的特性。

0

嘗試這種(未經測試)

(function($){ 
    $.fn.me = function(func) { 
     func.call(this[0]); 
     return this;  
    } 
})(jQuery); 

,並與使用:

$("#gmap321654987789").me(function(){ 
    this.innerHTML = 'edited'; 
}).css('border').... 
0

也許一個功能模式?也許你可以將你的實現切換到一個或多個方法,或者甚至只是一個參數化方法。

$.fn.doThingsToAMap = function() { 
    $(this).doThis(); 
    $(this).doThat(); 
    return this; 
}; 


$("#gmap321654987789").doThingsToAMap(); 
相關問題