将$(this)存储在变量中

ily*_*lyo 9 jquery

如果我想保存this为jQuery DOM对象,然后选择它,我应该使用下面的方法?

var element = $(this)
Run Code Online (Sandbox Code Playgroud)

然后选择

$(element)
Run Code Online (Sandbox Code Playgroud)

或者干脆

var element = this
Run Code Online (Sandbox Code Playgroud)

此外,如果我想要连接element到更大的选择器,是这样的:

$(element + " .class")
Run Code Online (Sandbox Code Playgroud)

正确的方式?

gab*_*ish 17

var element = $(this)
Run Code Online (Sandbox Code Playgroud)

然后你可以用element而不是$(this).您不必插入element$()了.

例如:element.remove()而不是$(this).remove()

  • 一个好的做法是用``$```命名你的变量,然后你立即知道它是一个jQuery对象. (7认同)
  • 要使用上面的答案来实现编辑`$(element +".class")`,请使用`element.hasClass("class")` (2认同)

Cam*_*ike 11

$this = $(this)通常是人们做的事情.美元符号是变量名称的有效字符,因此它可以很好地提醒变量是jQuery对象.

然后,您可以$this像使用任何jQuery元素一样使用它.例如,$this.css('border', 'none')

  • +1,虽然我更喜欢使用`$ that`,因为当我使用它时,我通常需要在另一个已经使用不同的`this`的范围中 - 基本上不那么混乱. (4认同)
  • 应该小心这一点,特别是如果将它存储在变量中的原因是在不同的上下文中引用它(辅助点击事件,AJAX结果),其中`$(this)`指的是不同的东西. (3认同)