this
ので、生のDOM要素になります。
あり
function doNext() {
if (this.id === "image1") {
alert('image1');
}else{
alert('image2');
}
}
あなたが特にあなたのコードでそれをしたので、私はid
に分岐するんだけど、通常はあなただけとの対話オブジェクト。
jQuery関数を使用する必要がある場合は、生のDOM要素をjQueryオブジェクト(var $this = $(this);
)にラップしますが、上記のようにしてid
を参照する必要はありません。あなたがイベント(this
)に夢中れている要素、およびはイベント(event.target
)をトリガーしていることの要素:jQueryのイベントハンドラ内
、あなたはへのアクセス権を持っている二つの重要なDOM要素(少なくとも)があります。あなたのケースでimg
は、他の要素を含めることはできませんので、image1
とimage2
がimg
要素であると仮定し、それらが同じになるだろうが、他の要素(div
、p
を含めることができる要素の場合など —例えば、ほとんどの要素)、event.target
はthis
と異なる場合があります。あなたは、段落をクリックすると、あなたがdiv
にイベントを夢中ので、あなたが...
DIV
P
を得るでしょう
<div id="foo">
<p>Blah blah blah</p>
</div>
この
$("#foo").click(function(event) {
alert(this.tagName);
alert(event.target.tagName);
});
、しかし:あなたが持っていると言いますそれはp
のクリックによってトリガーされました。 (これはイベント委任の基礎です)
偉大な説明のおかげ!これは治療になりました。 – james