我可以吗
<div class="some_div">some div</div>
<script>
jQuery('.some_div').data('some_data','some info').remove();
</script>
哪里的信息是用数据的方法添加的,还是在DOM周围?我需要取消初始化吗?当div元素没有引用时,是否会自动删除信息?
答案 0 :(得分:4)
数据通过闭包存储在jQuery对象可用的变量中。 永远不会存储在dom中。 Remove方法会删除数据以及DOM元素。
。删除([选择器])
与.empty()类似,.remove() 方法从DOM中获取元素。 我们在需要时使用.remove() 删除元素本身,以及 里面的一切。 除此之外 所有元素本身都受到约束 与之关联的事件和jQuery数据 元素被删除。
source:jQuery API:remove()
答案 1 :(得分:4)
jQuery在需要时在DOM元素上放置一个序列号,并使用该引用来查找元素的关联数据。
例如:jQuery1278101043588: 1
只要元素存在,您的数据就应该存在。不需要对代码中的元素的引用。
当您致电.remove()
或.empty()
时,我们会清理与元素相关联的数据。
如果您希望从DOM中删除元素而不丢失数据,可以使用.detach()
。
jQuery还有一个.removeData()
方法,用于清除不再需要的数据。如果在不传递参数的情况下调用,它将清除元素上的所有数据。