jquery中的'this'是什么?



我想知道为什么我们在jQuery中使用$(this)。什么是$(this)

var color = $(".selected").css("background-color");
$(".controls li").click(function () {
$(this).siblings().removeClass("selected");
$(this).addClass("selected");
color = $(this).css("background-color");
});
在此代码中,"this">

是什么意思,使用"this"的另一个选项是什么?

在javascript中,函数内部表示函数调用的上下文,如果在没有上下文的情况下调用方法,它将是窗口对象(或在严格模式下未定义)。

在 jQuery 事件处理程序中,this表示在其上注册处理程序的 dom 元素引用,因此在您的情况下this引用li元素。 在事件委托的情况下,this将引用处理程序的实际目标,例如如果处理程序($(document).on('click', 'li', function(){...}))以li为目标,则this将是li元素

不使用this的另一个选项是事件对象的 currentTarget 属性

$(".controls li").click(function (e) {
// or $(e.currentTarget)
$(this).siblings().removeClass("selected");
$(this).addClass("selected");
color = $(this).css("background-color");
});

演示:小提琴

$(this)是当前对象。

在上面的代码中 - $(this) imeans -$(".controls li")(.controls中的li)触发事件。

$(this) 被称为当前对象。在您的情况下,您将在类选择器中触发<li>controls单击操作。所以这将在 css 类controls<li>

$(this) 

是触发事件的对象或进程正在处理的当前对象。

相关内容

最新更新