我遇到的一个常见问题是混淆$(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)
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)