573

私は現在、このチュートリアルに取り組んでいます: Getting Started with jQuery

以下の 2 つの例では、次のようになります。

$("#orderedlist").find("li").each(function (i) {
    $(this).append(" BAM! " + i);
});
$("#reset").click(function () {
    $("form").each(function () {
        this.reset();
    });
});

最初の例では、各要素$(this)内にテキストを追加するために使用していることに注意してください。li2 番目の例ではthis、フォームをリセットするときに直接使用します。

$(this)よりもはるかに頻繁に使用されるようですthis

私の推測では、最初の例で$()は各li要素を関数を理解する jQuery オブジェクトに変換していappend()ますが、2 番目の例reset()ではフォーム上で直接呼び出すことができます。

基本的に$()、特別な jQuery 専用関数が必要です。

これは正しいです?

4

7 に答える 7

523

$()はい、jQueryを使用している場合にのみ必要です。jQueryのヘルプでDOMを実行したい場合は、これを覚えておいてください。

$(this)[0] === this

基本的に、要素のセットを取得するたびに、jQueryはそれをjQueryオブジェクトに変換します。結果が1つしかないことがわかっている場合は、最初の要素になります。

$("#myDiv")[0] === document.getElementById("myDiv");

等々...

于 2009-06-27T00:23:26.113 に答える
370

$()jQueryコンストラクタ関数です。

this呼び出しの DOM 要素への参照です。

基本的に、 inでは、 inをパラメーターとして$(this)渡すだけで、 jQuery メソッドと関数を呼び出すことができます。this$()

于 2010-09-15T04:03:07.317 に答える
92

はい、jQuery関数が必要ですが$(this)、jQueryを使用しない要素の基本的なjavascriptメソッドにアクセスする場合は、を使用できますthis

于 2009-06-27T00:24:46.420 に答える
41

ええ、を使用して$(this)、オブジェクトのjQuery機能を有効にしました。を使用thisするだけで、一般的なJavascript機能しかありません。

于 2009-06-27T00:23:54.397 に答える
-1

thisJavaScript オブジェクトを参照し、$(this)jQuery でカプセル化するために使用されます。

例 =>

// Getting Name and modify css property of dom object through jQuery
var name = $(this).attr('name');
$(this).css('background-color','white')

// Getting form object and its data and work on..
this = document.getElementsByName("new_photo")[0]
formData = new FormData(this)

// Calling blur method on find input field with help of both as below
$(this).find('input[type=text]')[0].blur()

//Above is equivalent to
this = $(this).find('input[type=text]')[0]
this.blur()

//Find value of a text field with id "index-number"
this = document.getElementById("index-number");
this.value

or 

this = $('#index-number');
$(this).val(); // Equivalent to $('#index-number').val()
$(this).css('color','#000000')
于 2013-11-28T12:49:39.827 に答える