0

別の関数で使用するためにの値を$(this)変数に格納する方法がわかりません。

この例では、クリックされたdiv要素への参照が必要です。

function doSomething(thisVar) {
 // do stuff with thisVar
}

$("div.someClass").click(function() {
    var myThisVariable = $(this);
    doSomething(myThisVariable);
});

動作しません(NULL参照になります)。適切なjQuery構文は何ですか?

編集:このエラーは、のさまざまなインスタンスを混乱させることになりましたthisthisこれは、各コンテキストで実際に何を意味するかに特別な注意を払う必要があることを示すのに役立ちます。

4

2 に答える 2

3

これは私のために働きます。あなたの問題はおそらく他の場所にあります。

これは、それを行うための適切なjQueryの方法です。多くの場合、開発者はの値を$(this)グローバルself(または$self)に保存して、コンテキスト、つまり値が変更された場合にアクセスしthisます。それを属性として渡すことはほとんど同じことです。

于 2012-09-17T14:09:27.907 に答える
1

これらのいくつかを試してください

function doSomething(thisVar) {
// do stuff with thisVar
    $( '#' + thisVar ) // selects the id
    $( '.' + thisVar ) // selects the class

}

$("div.someClass").click(function() {
    var myThisVariable1 = $(this).attr('id'); //saves the current element id
    var myThisVariable2 = $(this).attr('class'); //saves the current element class
    doSomething(myThisVariable);
});

それが役立つことを願っています:)(私が質問を理解したことを願っています)

于 2012-09-17T14:05:04.033 に答える