我有一些代码。当它正确运行时,我创建一个成功消息并使用prependTo以便在屏幕上显示它。问题是,当用户两次成功完成操作时,我最终会收到两条成功消息。
有没有办法覆盖我的成功消息。以下是我目前在代码中处理它的方式:
$((is_error ? "<p class=' alert alert-error'>"+message+"</p>)" : "<p class=' alert alert-success'>"+message+"</p>")).prependTo("#feedback-container");
谢谢!
答案 0 :(得分:3)
您可以使用prependTo
代替html
,因此您不会在前面添加内容,而是替换邮件容器的内容:
$("#feedback-container").html(is_error ? "<p class=' alert alert-error'>"+message+"</p>" : "<p class=' alert alert-success'>"+message+"</p>");
答案 1 :(得分:3)
你可以使用这个:
$("#feedback-container").html((is_error ? "<p class=' alert alert-error'>"+message+"</p>)" : "<p class=' alert alert-success'>"+message+"</p>"));
因此,您的容器的整个内容都将被替换。
答案 2 :(得分:2)
$("#feedback-container").children(".alert:first-child").remove().end().prepend( "stuff" );
答案 3 :(得分:1)
根据定义,prependTo将“插入此参数指定的元素的开头。”换句话说,它将插入,但不会替换。
您正在寻找的内容很可能是 html 方法,该方法会将匹配元素的innerHTML设置为给定内容:http://api.jquery.com/html/
html()的使用与 prependTo()略有不同,但概念上相同:
$("#feedback-container").html((is_error ? "<p class=' alert alert-error'>"+message+"</p>)" : "<p class=' alert alert-success'>"+message+"</p>"));