我正在尝试以与this question中描述的非常相似的形式创建功能。我想通过动态添加(或删除)类来以不完整的形式标记输入。但是,在该问题中,这仅在blur
上更新。我想在页面加载时添加类。我目前有:
$(document).ready(function() {
$('.eval-form input').blur(function() {
if( !$(this).val() ) {
$(this).parent().addClass('incomplete-answer');
}
else {
$(this).parent().removeClass('incomplete-answer');
}
});
});
我希望将.blur
替换为第一次加载页面时将继续执行该功能的方法。看起来这应该是我想要做的一件简单的事情,但是我对jQuery缺乏熟悉感正在踢我,而且我对文档没有任何好运。
答案 0 :(得分:1)
您可以触发该事件。处理程序将为集合中的每个元素调用一次。
$('.eval-form input').blur(function() {
// ...
}).blur();
您还可以使用toggleClass
方法缩小代码:
$(document).ready(function() {
$('.eval-form input').blur(function() {
$(this).parent()
.toggleClass('incomplete-answer', $.trim(this.value) === '');
}).blur(); // trigger the event once on DOM ready
});
答案 1 :(得分:0)
当然,小菜一碟!你想要的是输入上的每个循环:
$(document).ready(function() {
$.each($(".eval-form input"), function(i, e) {
if(!$(e).val()) {
$(e).parent().addClass('incomplete-answer');
} else {
$(e).parent().removeClass('incomplete-answer');
}
});
})