$(this)とthisの使用の基本的な違いは何ですか
$('.viewComments').click(function(ev){
//returns the desired value
alert(this.getAttribute('id'));
//Gives an error sayin function is not defined
alert($(this).getAttribute('id'));
//returns the desired value
alert($(this).attr('id'));
});
「$(this)」には「this」が持つすべての機能が含まれると思っていましたが、そうではないようです。
それでは、$(this)とは正確には何ですか?そして
ハードウェアを使用しているときに使用可能な機能を知っていますか? (私はfirebugを介してそれらを取得できることを知っていますが、他の方法があるかどうかを知りたいです-いくつかのドキュメントがあるかもしれません)
this
はDOMオブジェクトであり、$(this)
はその周りのjQueryラッパーです。
this
を使用する場合、DOMメソッドを呼び出すことができますが、jQueryメソッドは呼び出せません。 $(this)
を使用する場合、jQueryメソッドを呼び出すことができますが、DOMメソッドは呼び出せません。
$(this)-この関数が呼び出されるイベントの現在のDOM要素を表す
thisキーワード-JavaScriptでは、これは常に、実行している関数の「所有者」、または関数がメソッドであるオブジェクトを指します。
JQueryでは、これはDOMオブジェクトを指し、_$(this
_)は同じオブジェクトを指しますが、jQueryメソッドが追加されています
this.each()
を呼び出すことはできません。それぞれがDOMメソッドではなく、jqueryメソッドであるためです
$(this).each()
はjqueryオブジェクトを返すため、$(this)
を呼び出すことができます。
$(this)は、jQueryセレクターまたはオブジェクトにアタッチされたイベントを使用して選択された現在のオブジェクトです。
$('#myelement').click(.....
がある場合、$(this)
はクリックされた要素を参照するため、$(this).hide()
はその要素を非表示にします。
jQueryでは、$()表記はjQueryセレクターの省略形であるため、$(this)と言うと、jQueryにオブジェクトを再選択するように要求しています。その後、通常のjQuery関数を使用できます。 「this」は、外側のjQuery呼び出しによって選択されたオブジェクトです。
$(this)はjQueryオブジェクトであり、jQueryのパワーと美しさを使用できますが、「this」キーワードでは、ネイティブJavaScriptを使用する必要があります。