我正在验证表单,如果有问题,我会在输入有问题后立即添加一条消息,然后在一段时间后将其淡出。问题是我还想从 DOM 中删除该消息。
我用谷歌搜索了一下,看起来我必须使用fadeout(function(){})
或排队。好吧,在其他情况下没关系,但是当我插入它并用同一行删除时,它有点棘手。还有其他更简单的“单线”方式吗?
我试图添加另一个(更长的延迟),但这根本不起作用。
$("<div style='color: red'>Maximum length is "+$(this).attr('maxlength')+" characters!</div>").insertAfter($(this)).delay(5000).fadeOut().delay(5010).remove();
我也不能真正使用 ID,因为它可以同时抛出多个 ID,或者用户可以快速修复一个输入并单击提交,它会同时删除旧消息和新消息。
谢谢。
Ps.:我能想到的唯一方法是为每个元素生成随机 ID 并使用该 ID 将其删除,但恕我直言,这太复杂了。
澄清一下:上面的那一行在一个循环中,它循环遍历表单中的每个输入和文本区域,如果只检查 minlength、maxlength 和 numbers,它们就很简单。这就是为什么我不能放一些静态 ID/类,它不会像我想要的那样工作(仅删除添加的元素,没有其他元素,即使在用户再次提交表单时再次添加了相同的消息等) . 谢谢。