2011-01-20 9 views
0

jQueryでもOKです。

私は私が私のセレクタのコンテキストでコードをたくさんやりたいselecter $("#gmap")

を持っています。私はいつも怠け者であり、それらのうちの1つしかありません。

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

これは特に効果的ですか?私は「正しい」と感じないコードは嫌いです。

などのメカニズムがありますか。

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

何が良い===演算子になったのですか? – Boldewyn

+0

私はそれがすべて非効率だとは思わない – qwertymk

答えて

1

だけキャッシュオブジェクトと正常に動作するように:

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

乾杯、この方法で行った、まあまあです。 CMSのためには、独自のIDを持つ複数のマップを処理する必要があります...スタンドアロンのJSファイルに関数を書き込んだり、XSLで関数を書き直したりできます。 for eachマップ doStufftoMap($( '#gmap321654987789')); –

1

あなただけの可能性:

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

私は彼がチェーンでこれを行うことができると思っています – qwertymk

+0

そして彼を妨げるものは何ですか? @ my_lement.css( 'foo'、 'bar')。hide()。show()... ' – Boldewyn

+0

または単に$("#gmap321654987789 ")....' –

2

一つだけ1それらを(あなたはIDによって選択されているためでなければなりません)がある場合にすることができますだけの連鎖方法$("#gmap").val("new").attr('someattr','') .etc

0

また、JSで "with"を試すことができますので、小道具あなたのオブジェクトのerties。

0

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

と一緒に使用(未テスト)これを試してみてください:たぶん

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

私はそれぞれ使い方が悪いとは思いますが – qwertymk

0

機能パターン?おそらく、実装を1つまたは複数のメソッド、または単一のパラメータ化されたメソッドにまで減らすことができます。

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


$("#gmap321654987789").doThingsToAMap(); 
関連する問題