1

セレクターをグローバル変数または名前空間として設定しようとしています。これが正しい用語であるかどうか、またはこれに適切にアプローチしているかどうかはよくわかりません。

次のようなことができるようになりたいです...

$.namespaceA = $('#myFirstDiv');
$.namespaceB = $('#mySecondDiv');


function myFirstFunction(){
   $.namespaceA.hide();
   $.namespaceB.css();
}

function mySecondFunction(){
   $.namespaceB.show();
}

これは私がそれらをどのように使用したいかの非常に基本的な例です。基本的に、最終的な目標は、複数の機能で簡単に使用できるグローバルセレクターのグループを設定することです。これが正しいのか、それとも理想的なのかわからないので、お願いします。前もって感謝します。

4

3 に答える 3

1

単純にグローバル変数を作成してみませんか?(jQueryでラップされたセットを問題なく保持できます)

// When creating variables holding wrapped sets it is common naming to have 
// a $ following it (I find this rather annoying, since you can't easily double click
// on the var, in order to copy/paste it etc, so I always use _ underscore (personal preference)

var _div1 = $('#myFirstDiv'); // you will see a lot of people do div1$
var _div2 = $('#mySecondDiv'); // or div2$ (signifying the jQuery wrapped set)

_div2.hide();

//These could be used within multiple functions etc... No need for namespaces here!

function Whatever () {
    console.log(_div1);
    _div1.css('background', '#000');
}

$('#linkTrigger').on('click', function () {
    Whatever(); 
    _div2.fadeIn();
});

jsFiddleデモ

$.nameSpaceHerejQueryを-extend-して、ある種の独自のユーティリティ関数を追加しようとしている場合に適しています。

于 2012-08-29T17:49:35.200 に答える
1

mcpDESIGNSと同様:

http://jsfiddle.net/nqrvf/

<div id="myFirstDiv">first</div>
<div id="mySecondDiv">second</div>

var namespaceA = $('#myFirstDiv');
var namespaceB = $('#mySecondDiv');

$("#myFirstDiv").click(function() {
  namespaceA.hide();
});

$("#mySecondDiv").click(function() {
  namespaceA.show();
});
于 2012-08-29T17:51:54.553 に答える
1

「var」キーワードなしでグローバル変数を宣言できます。

div = $('#myFirstDiv');

グローバル変数として機能する任意の関数内で変数を宣言できます。

于 2012-08-29T18:03:29.880 に答える