區分jQuery 中的'$(this)' 和'this'
在學習jQuery 入門教程時,您遇到了直接使用教程「$(this)」與「this」之間的細微差別。在您提供的程式碼範例中:
$("#orderedlist").find("li").each(function (i) { $(this).append(" BAM! " + i); }); $("#reset").click(function () { $("form").each(function () { this.reset(); }); });
您正確地推斷出關鍵差異在於 jQuery 特定的功能。
jQuery 操作的「$(this)」
在第一個範例中,'$(this)' 在'each' 函數中使用來迭代「禮”元素。透過將「this」封裝在「$(this)」中,您可以將其轉換為 jQuery 物件。這允許您使用 'append' 等 jQuery 方法直接操作元素。
'this' 用於非 jQuery 函數
在第二個範例中,'this ' 在重置按鈕的點擊處理函數中使用。在這裡,您的目標是“form”元素。重置表單是標準 HTML 功能,不需要 jQuery 介入。因此,您可以直接在“this”上呼叫“reset”。
何時使用每個表單
作為一般規則,每當您想要執行特定於jQuery 的操作時,對元素的操作,使用'$( this)'。這可確保該元素已封裝為 jQuery 對象,並讓您可以存取其全部功能。對於重置表單等非 jQuery 操作,您可以直接使用 'this'。
記住關係
為了簡化問題,請記住以下等效項:
$(this)[0] === this
這意味著您可以透過使用以下指令索引jQuery 物件來隨時存取原始DOM 元素「[0]」。
以上是我什麼時候應該在 jQuery 中使用 `$(this)` 與 `this` ?的詳細內容。更多資訊請關注PHP中文網其他相關文章!