2016-10-07 3 views
1

イベントで使用されるjquery要素の名前付けに関するベストプラクティスを誰かが持っているかどうかは疑問です。例えば、上部に宣言された定数変数としての要素、インライン対。定数としての要素名jquery

これは私の質問は、非常にJquery重いクライアント側のアプリケーションがあり、データ処理と認証のためのサーバー側のみを使用しています。これにより

、以下のような行を見てすることは私に少し怒っドライブ:

$("#examplea").hide(); 
$("#exampleb").fadeIn(300); 

誰のような任意の分離使用しています:私はいくつかの方法で、クリーナー、これは見て見

var examplea = "#examplea"; 
var exampleb = "#exampleb"; 

$(examplea).hide(); 
$(exampleb).fadeIn(300); 

を、また、要素名がトラックを変更して複数の場所で使用された場合、コードを変更する場所が1つあることを意味します。

これは、非常に大きなjavascript重いサイトでのみ問題になると思いますので、他の人がこれに対処するために行ったことについて質問を投げかけてください。同じ要素を取得するためにDOMに行く

おかげで、

+5

'var $ exampleA = $( '#exampleA'); $ exampleA.hide(); 'が私の好みの方法であり、私は最も一般的な方法であると信じています。変数名の '$'は完全には必要ではありませんが、その変数がJQueryオブジェクトであることを示すいい表記です。 – Santi

+0

@サンティの解決策は間違いなく良いです。 DOMクエリは高価であり、可能な限り行うべきではありません。 – Phil

+0

@Jorg問題はありません! – Santi

答えて

3

あなたは、多くの場合、それらの要素を取得する場合は特に、比較的遅いです。実際のjQの変数を格納する方がよいかもしれません:

var $examplea = $('#examplea'); 

あなたは他のどこでもそれを使用することができるように:

$examplea.hide(); 
$examplea.fadeIn(300); 
+0

Jquery iveを使用してこれらのすべての年の後に私は驚いていますDOMからフェッチのコストは、私のデータフェッチで。しばらくの間、スティックで自分自身を打つ必要があります。素晴らしい答え。 @ Santiのコメントごとに$を前置することも、追加するのに便利です。 – Cyassin

+0

@ニックが記載され変更されました。 [jsfiddle](https://jsfiddle.net/jorgthuijls/zk7egghv/)で試してみてください。驚くでしょう。 – Jorg

+0

jsfiddleが私に衝撃を与えた。受け入れられた答え。 – Cyassin

1

を私は多くの場合、リテラル、単純なオブジェクトの内部のようなものを置いて、そしていくつかにケースはこのオブジェクトリテラルを自動的に埋めます。

例えば、最近、元に戻す/やり直しの簡単な例がノックアウトされています。これはjQueryではなく純粋なjavascriptです。また、上部ではDOMの要素名を自動的に引き出します。私にとっては、物事を少し乾燥した状態に保つと思う。

How to undo and redo event in Javascript with browser compatible?

あなたは最初の数行を見れば、あなたは私がすべての要素をキャプチャし、オブジェクトリテラル「E」に配置することだかわかります。

関連する問題