我有一个简单的jQuery函数,如果它们为空,则会向各种html元素添加一个类(.dataerror
)。首先,我这样做:
$('.editable').each(function() {
if (!$(this).html()) {
showerror($(this));
}
});
该函数的超简化版本如下所示:
function showerror(element) {
$(element).addClass('dataerror');
}
但是,如果元素为空,则不会将该类添加到元素中。
如果我将功能更改为:
function showerror(element){
$(element).hide();
}
...如果元素为空,则元素将按预期隐藏。
任何人都可以告诉我为什么.addClass()
不能在此上下文中处理元素,而.hide()
等其他方法可以工作吗?
THX。
答案 0 :(得分:1)
而不是
$(element).addClass('dataerror');
可以试试吗
element.addClass('dataerror');
答案 1 :(得分:1)
使用showerror(this);
代替showerror($(this))
,因为您将DOM元素包装到jquery对象中两次。