【问题标题】:What does this.$('.selector') do in jQuery?this.$('.selector') 在 jQuery 中做了什么?
【发布时间】:2012-09-20 13:27:00
【问题描述】:

我在某人的代码中看到了这一点:this.$('.selector'),我很好奇它的作用。 “this”是一个主干视图。那么前缀“这个”是什么。放到一个 jQuery 选择器上,在给定的上下文中,做吗?

【问题讨论】:

  • 这是$(this.el).find(...)$('.selector',this.el) 的快捷方式 - 用于限定查询 w.r.t。到el 元素

标签: javascript jquery backbone.js scope


【解决方案1】:

来自doc

$(jQuery 或 Zepto)view.$(选择器)

如果 jQuery 或 Zepto 包含在 在页面中,每个视图都有一个 $ 函数,用于运行范围内的查询 视图的元素。如果你使用这个作用域的 jQuery 函数,你不会 必须使用模型 ID 作为查询的一部分来提取特定的 列表中的元素,并且可以更多地依赖 HTML 类属性。 相当于运行:view.$el.find(selector)

ui.Chapter = Backbone.View.extend({
  serialize : function() {
    return {
      title: this.$(".title").text(),
      start: this.$(".start-page").text(),
      end:   this.$(".end-page").text()
    };
  }
});

简而言之,它用于以熟悉的语法访问 View 的某些元素。

【讨论】:

    【解决方案2】:

    它基本上将搜索具有selector 类的元素限制为您的视图所基于的元素。

    【讨论】:

    • +1 因为我在发布我的答案之前没有阅读您的答案,而且非常相似
    【解决方案3】:

    基本上就是把搜索范围从document改成了this,很明显是某个元素。

    【讨论】:

    • 确实,您更常将其视为 $('.selector', this)
    猜你喜欢
    • 2018-01-12
    • 2017-06-23
    • 1970-01-01
    • 2011-09-23
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多