删除元素时不要丢失变量数据
Don't lose variable data when removing element
如何将元素保存为变量,然后将其删除,但不丢失变量数据?
var elements = $('.element');
elements.remove();
elements.insertAfter('.insertAfterElement');
用.detach()
代替.remove()
.detach()方法与.remove()方法相同,除了.detach()保留所有与被删除元素相关的jQuery数据。当删除的元素稍后要重新插入到DOM中时,此方法非常有用。
从http://api.jquery.com/remove/:
从http://api.jquery.com/detach/除了元素本身,所有的绑定事件和jQuery与元素关联的数据将被删除。移除元素不删除数据和事件,使用
.detach()
代替。
:
.detach()
方法与.remove()
相同,不同之处在于.detach()
保留所有与被删除对象相关的jQuery数据元素。当要删除元素时,此方法非常有用
但是,当然,如果您要立即将它插入到文档中,那么使用它是没有意义的。
$('button').on('click', function() {
$('.element').insertAfter('.insertAfterElement');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Wrapper <span class="element">Element</span></div>
<button>Click me</button>
<div class="insertAfterElement"></div>
从http://api.jquery.com/remove/:
若要删除元素而不删除数据和事件,请使用
.detach()
。
用
var elements = $('.element');
elements.detach();
// later:
elements.insertAfter('.insertAfterElement');
但是,如果您只想立即移动元素,则根本不需要显式地从DOM中删除它们。只是将它们插入到不同的位置将隐式地将它们从原来的位置移除(而不是克隆它们)。所以只需使用
$('.element').insertAfter('.insertAfterElement');
相关文章:
- 如何将变量数据从Java类获取到JavaScript
- 如何获取PHP变量数据并将其存储在JavaScript变量中
- 如何将变量数据存储在其他变量中并对其进行解析
- 如何在没有web服务器的情况下将变量数据从Python传输到Javascript
- 将变量数据添加到 JSON
- 变量数据丢失的技术原因
- 如何从NodeJsServer的查询字符串中获取id或任何变量数据
- 将变量数据从操作脚本 3 发送到 JavaScript
- 将 JS 变量数据发送到可下载页面
- 如何在 php 变量中传递 jquery 变量数据
- 如何将变量数据传递到视图
- 如何将变量数据放在数组中,javascript
- 将字符串与变量数据进行比较
- 删除变量数据时出错
- 如何将大型变量数据从javascript发送到SpringMVC控制器
- Express JS - 将后端变量/数据传递给 Angular JS
- 数组键变量正在更改,但变量数据没有更改
- 变量数据错误
- 将jQuery中的变量数据保存到PHP中,并在页面重新加载后获取
- 变量变量数据未发送到数据库中