在jquery中确定$(this)

DA.*_*DA. 5 jquery this

我遇到的一个常见问题是混淆$(this)指的是什么.

我经常会尝试给它一些奇怪的风格:

$(this).css("border","10px solid red")
Run Code Online (Sandbox Code Playgroud)

哪个有时有帮助.

然而,我对以下内容感到难过.我的问题可以通过两种方式回答:

1)在任何给定的情况下,是否有一种通用的方式来"看"$(this)所指的是什么?也许与萤火虫结合?

2)更具体地说,任何想法$(this)应该在下面的示例中引用什么?我假设它将是一个btnSave类的输入,但似乎不是:

$(ajaxContainer).find("input.btnSave").click(function(){
    savePanel();
});

function savePanel() {
    $(this).css("border","10px solid red");
};
Run Code Online (Sandbox Code Playgroud)

ric*_*age 9

1)在Firebug中使用控制台:

var obj = $(this);
console.log(obj);
Run Code Online (Sandbox Code Playgroud)

2)savePanel()将没有正确的上下文使用$(this).你可以尝试:

$(ajaxContainer).find("input.btnSave").click(function(){
    $(this).css("border", "10px solid red");
});
Run Code Online (Sandbox Code Playgroud)