区分 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中文网其他相关文章!