在我的表单上,当页面加载时,我将输入中的默认文本设置为浅灰色,如下所示:
var formInputs = $('#notifyForm input');
formInputs.addClass('defaultText');
然后我使用 removeClass 让它们在聚焦时变回黑色。这一切都很好。我遇到的问题是,如果出现错误并且页面重新加载以显示 PHP 错误消息,则仍在输入中的用户文本将变为灰色。我的解决方案是:
formInputs.addClass(function()
{
if($(this).attr('value') === $(this).attr('title'))
{
$(this).addClass('defaultText');
}
});
但我知道在 addClass 处理程序中调用 addClass 一定有问题。谁能建议一个更好的方法来做到这一点?谢谢。
最佳答案
从传递给 addClass
的函数中,您可以返回一个字符串,这将是您要添加的类名。试试这个:
formInputs.addClass(function() {
if (this.value === this.title)
return 'defaultText';
});
关于javascript - 如何在不重复 jQuery addClass 的情况下做得更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14137730/