在Marionette itemView上使用jquery向此添加类。$el
当模型发生如下更改时,我尝试向itemView的封闭标记添加一个类在Marionette itemView上使用jquery向此添加类。$el,jquery,backbone.js,marionette,Jquery,Backbone.js,Marionette,当模型发生如下更改时,我尝试向itemView的封闭标记添加一个类 View.Option = Marionette.ItemView.extend({ tagName: "li", className: "option-item clearfix", template: optionsItemTpl, modelEvents: { "change": "modelChanged" }, modelChanged: function() { console
View.Option = Marionette.ItemView.extend({
tagName: "li",
className: "option-item clearfix",
template: optionsItemTpl,
modelEvents: {
"change": "modelChanged"
},
modelChanged: function() {
console.log(this.$el);
this.$el.addClass('success');
}
});
下面输出我试图将类添加到的元素
console.log(this.$el);
但是没有添加这个类,我就是不明白为什么会这样。我将您的代码复制到了JSFIDLE。似乎它正在按预期工作。log(this.$el)实际上不会显示最初该值在输出[li.option item]时已更改,但正如您所看到的,它也不会显示其clearfix。如果深入研究$el对象,您将看到success类实际上是附加的。您还可以通过回显this.el来验证这一点,this.el是没有jQUery包装器的纯DOM元素 并对其自身进行编码: html:
<div id="conatainer"> </div>
输出:
Model Instance:
Object {cid="c1", attributes=Object, _changing=false, ...}
View:
Object {options=Object, cid="view2", model=Object, ...}
Model Changed..
Updated Views $el:
[li.option-item]
Updated Views el:
<li class="option-item clearfix success">
模型实例:
对象{cid=“c1”,attributes=Object,_changing=false,…}
视图:
对象{options=Object,cid=“view2”,model=Object,…}
型号改变了。。
更新视图$el:
[李.选择项目]
更新视图:
Model Instance:
Object {cid="c1", attributes=Object, _changing=false, ...}
View:
Object {options=Object, cid="view2", model=Object, ...}
Model Changed..
Updated Views $el:
[li.option-item]
Updated Views el:
<li class="option-item clearfix success">