我想给多个具有相同类名的元素添加一个新的类。但目前它只为最后一个元素添加类。我已尝试使用document.querySelectorAll,但没有结果。我错过了什么?
HTML示例
<div class="model"></div>
<div class="model"></div>
<div class="model"></div>
JS
_updateParagraph: function(settings, className) {
var paragraph = document.querySelector('.' + className);
paragraph.className = className;
this._updateParagraphClasslist(settings, paragraph);
},
完全JS
App.Views.Preview = Backbone.View.extend({
el: "#preview",
initialize: function() {
this.listenTo(this.model, "change", this.update);
},
update: function() {
var
layout = [this.model.get("model")],
format = [this.model.get("size"), this.model.get("color-outside"), this.model.get("color")],
color = [this.model.get("color-inside")],
material = [this.model.get('material')],
lamination = [this.model.get('lamination')],
logo = [this.model.get('embossing')];
this._updateParagraph(layout, 'layout');
this._updateParagraph(format, 'front');
this._updateParagraph(format, 'back');
this._updateParagraph(lamination, 'kit-front');
this._updateParagraph(lamination, 'kit-back');
this._updateParagraph(logo, 'embossing');
this._updateParagraph(color, 'colorinner');
this._updateParagraph(color, 'model');
},
_updateParagraph: function(settings, className) {
var paragraph = document.querySelector('.' + className);
paragraph.className = className;
this._updateParagraphClasslist(settings, paragraph);
},
_updateParagraphClasslist: function(settings, paragraph) {
_.each(settings, function(setting) {
if (_.has(setting, "visual")) {
paragraph.classList.add(setting.visual);
}
});
}
});
jQuery
标签呢? ^^ - moonwave99