数据删除会完全删除该元素。请改用jQuery的.hide()方法。
快速修复方法:
使用嵌入式Javascript来隐藏元素onclick,如下所示:
<div > <a onclick="$('.alert').hide()">×</a> <strong>Warning!</strong> Best check yo self, you're not looking too good. </div><a href="#" onclick="$('alert').show()">show</a>但是,仅当您懒惰时才应使用它(如果您想要可维护的应用程序,这不是一件好事)。
做正确的方法:
创建新的数据属性以隐藏元素。
Javascript:
$(function(){ $("[data-hide]").on("click", function(){ $("." + $(this).attr("data-hide")).hide() // -or-, see below // $(this).closest("." + $(this).attr("data-hide")).hide() })})$("." + $(this).attr("data-hide")).hide()这将隐藏数据隐藏中指定类的所有元素,即:
data-hide="alert"将隐藏警报类的所有元素。
Xeon06提供了另一种解决方案:
$(this).closest("." + $(this).attr("data-hide")).hide()这只会隐藏最接近的父元素。如果您不想给每个警报一个唯一的类,这将非常有用。请注意,但是,您需要在警报中放置关闭按钮。
jquery doc中.closest的定义:
对于集合中的每个元素,通过测试元素本身并在DOM树中遍历其祖先,获得与选择器匹配的第一个元素。



