$('element',this.el)[0]是什么意思?

Whats the meaning of $('element',this.el)[0]?

现在我在学习Backbone和Marionette,我看了一些教程,我发现了一段我没看懂的代码。这是代码:

$('element',this.el)[0]

我知道jQuery一点点。我知道this关键字,我知道$('element')关键字,但不明白那个代码,请大家告诉我。

这是 jquery selector context 语法:

'element' 是一个选择器,this.el 是一个上下文,使用方括号表示法获取第一个元素 [0],这也会将 jquery 元素转换为 javascript对象。

或者你可以像这样使用而不是 jquery 选择器上下文语法:

$(this.el).find('element')[0] // hope you understand this syntax

$('element',this.el) 表示 select 所有 <element> 都包含在 this.el 中。 this.el 必须是另一个 "object" 但它是什么取决于更高层的构建。我在 .

中对此进行了更详细的介绍

[0] 只是解开 jquery 对象返回一个普通的 DOM 对象。所以:

$('element',this.el).first(); //works
$('element',this.el)[0].first(); //will error

第二个错误是因为它不再是 jquery 对象,所以它没有包含在 jquery 函数中。

  • 在 Backbone 上下文中,您的代码可能在 a view and this.el refers to the view's element
  • 中找到
  • $('element',this.el)this.el
  • 定义的范围内找到 element 个节点
  • $('element',this.el)[0] 指找到的第一个 element 节点

请注意,在 Backbone 视图中,您可以简化为

this.$('element')[0]