jQuery:$(this)和this之间的差异

vit*_*tto 1 javascript jquery

我想知道是什么之间的差异$(this),并thisjQuery,并最终找到一种方式来获得$(this)从对象this(this是什么?):

var last_btn;
$("#element").click (function () {
    if (last_btn != null && last_btn == this) {
        // to unselect the current button
        last_btn.removeClass ("selected"); // doesn't work because this is not $(this)
    } else {
        if (last_btn != null) last_btn.removeClass ("selected"); // to unselect another old button
        last_btn = this;
        $(this).addClass ("selected");
    }
});
Run Code Online (Sandbox Code Playgroud)

正如本文所述,我需要使用this而不是$(this)对象,因为这是将jQuery对象分配给var而不会松散其实例的唯一方法.

我怎样才能做到这一点?

Pek*_*ica 10

在您显示的代码中,this是对带有element单击ID的纯DOM对象的引用.

$(this)将DOM对象扩展为jQuery对象,这使得jQuery的所有优点都addClass可用.