$('element',this.el)[0]的含义是什么

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

本文关键字:是什么 el element this      更新时间:2023-09-26

现在我学习Backbone和Marionette,我读了一些教程,发现了一个我不懂的代码。这是代码:

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

我对jQuery略知一二。我知道this关键字,也知道$('element')关键字,但不理解那个代码,请大家告诉我。

$('element',this.el)表示选择包含在this.el中的所有<element>this.el必须是另一个"对象",但它是什么取决于是什么在更高层次上构建它。我在回答一个类似问题时更详细地介绍了这一点。


[0]只是打开jquery对象,返回一个普通的DOM对象。因此:

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

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

  • 在Backbone上下文中,您的代码可能在视图中找到,this.el指的是视图的元素
  • $('element',this.el)this.el定义的范围内查找element节点
  • $('element',this.el)[0]是指找到的第一个element节点

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

this.$('element')[0]

这是jquery选择器上下文语法:

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

或者,您可以使用这样的语法来代替jquery选择器上下文语法:

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