$(this)vs this in jQuery
问题描述:
jQuery中的$(this)
和this
有什么区别?这里有两种不同的用途:
$(document).ready(function() {
$("#orderedlist").find("li").each(function(i) {
$(this).append(" BAM! " + i);
});
});
$(document).ready(function() {
// use this to reset several forms at once
$("#reset").click(function() {
$("form").each(function() {
this.reset();
});
});
});
答
“this”变量指向(在这种情况下,你提供的事件处理程序)给DOM元素。因此$(this)是一个只包含一个DOM元素的jQuery对象。
当本机DOM API足够时,您应该使用普通的“this”,当您需要jQuery的帮助时使用$(this)。你的第二个例子是一个很好的例子。另一个可能是当你只需要元素的“id”或“name”。
答
所不同的是this
本身是该事件时作用在DOM对象的引用。 $(this)
正在从该dom对象创建一个jquery对象。
编辑:所以与DOM对象,你不会有权访问所有的jQuery添加功能,但只有dom允许。基本上你可以认为this
本身就像你一样document.getElementById(id)
答
$(this)
是一个jQuery对象,而this
是指原生DOM对象
“'this' _by本身就是对DOM对象的事件采取行动upon_参考”,迄今结识最美丽的定义'这',竖起大拇指哥们:)! – Irfan 2017-11-21 06:33:32