现在我学习了Backbone和Marionette,我读了一些教程,发现了一些我不理解的代码。这是代码:
$('element',this.el)[0]
我知道jQuery一点点。我知道this
个关键字,我知道$('element')
关键字,但不了解该代码,请大家告诉我。
答案 0 :(得分:5)
此$('element',this.el)
表示选择<element>
中包含的所有this.el
。 this.el
必须是另一个“对象”,但它取决于构建此更高层的内容。我在this answer to a similar question中详细介绍了这一点。
[0]
只是解包返回vanilla DOM对象的jquery对象。所以:
$('element',this.el).first(); //works
$('element',this.el)[0].first(); //will error
第二个错误,因为它不再是一个jquery对象,所以它不包含在jquery函数中。
答案 1 :(得分:2)
this.el
指的是view's element $('element',this.el)
在element
this.el
个节点
$('element',this.el)[0]
指的是找到的第一个element
节点请注意,在Backbone视图中,您可以简化为
this.$('element')[0]
答案 2 :(得分:0)
'element'
是选择器,this.el
是一个上下文,并使用括号表示法获取第一个元素[0]
,它还将jquery元素转换为javascript对象。
或者你可以使用这样的代替jquery选择器上下文语法:
$(this.el).find('element')[0] // hope you understand this syntax