我有一个像这样的JavaScript对象,它负责管理消息:
var _message = {
removeMessages: function () {
messageContainer.removeClass(errorClass)
.removeClass(infoClass)
.removeClass(successClass)
.text('');
},
info: function (text) {
this.removeMessages();
messageContainer.addClass(infoClass).text(text);
},
error: function (text) {
this.removeMessages();
messageContainer.addClass(errorClass).text(text);
},
success: function (text) {
this.removeMessages();
messageContainer.addClass(successClass).text(text);
}
};
已经调用了jQuery的removeClass
三次。已经调用了三次this.removeMessages();
。我曾三次使用messageContainer.text(text);
来显示文字。
注意:messageContainer是一个jQuery对象,我将此对象用作_message.info('some information');
。
答案 0 :(得分:3)
您可以使用removeClass
一次删除多个班级:
<强>
.removeClass( [className] )
强>
要从每个匹配元素的class属性中删除 classNameOne 或更多以空格分隔的类。
所以你可以这样做:
removeMessages: function () {
messageContainer
.removeClass(errorClass + ' ' + infoClass + ' ' + successClass)
.text('');
}
你也可以用一个小帮手来清理其他三个人:
_helper: function(text, cls) {
this.removeMessages();
messageContainer.addClass(cls).text(text);
},
info: function (text) {
this._helper(text, infoClass);
},
error: function (text) {
this._helper(text, errorClass);
},
success: function (text) {
this._helper(text, successClass);
}