BackboneJS - 将类添加到<a href=""> of <li> element</li></a>

时间:2014-02-18 15:42:22

标签: javascript jquery backbone.js

我想将.active - 类添加到已单击的特定menuItem中,因此在我的Backbone View中我有:

initialize: function () {
    if(this.model.has('triggers') && this.model.get('triggers') == this.model.get('route')) {
            this.$el.addClass('active');
    } else {
            this.$el.removeClass('active');
            }   
}

这给了<li>活动类,但我希望<a href> - 元素具有活动类,所以我尝试了:

this.$el.closest('a').addClass('active');

但显然这不起作用,因为我成为* Uncaught SyntaxError:意外的标识符* -error。有解决方案吗?

2 个答案:

答案 0 :(得分:3)

尝试.find()

this.$el.find('a').addClass('active');

答案 1 :(得分:2)

最佳解决方案,在视图中使用主干 EVENTS OBJECT ,因为它是一种BACKBONE方式。

var view = {
  //some code before 
  events: {
    "click a.YOUR_CLASS_TO_WATCH_CLICK_EVENT": "handler"
  },

  handler: function(e){
    var target = $(e.currentTarget);
    target.addClass("active");
    return false;
  }
  //some code after
}

请添加到<a class="SOME_CLASS">某个className,并将YOUR_CLASS_TO_WATCH_CLICK_EVENT更改为此className。