首页 > 解决方案 > 如何在不删除元素的情况下删除 jquery UI 元素?

问题描述

假设我有一些看起来像 thsi 的 html:

<ul id="sortable">
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 1</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 2</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 3</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 4</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 5</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 6</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 7</li>
</ul>

如果我然后输入

$("#sortable").sortable();

在控制台中,它将其转换为可排序的。(需要jquery)现在,如果我想将它重置回原始html,我该怎么做?如果我输入:

$("#sortable").remove()

它删除了所有的html。

有没有一种方法可以删除任何.sortable()创建的东西?

标签: javascripthtmljqueryjquery-ui

解决方案


使用destroy方法。

$("#sortable").sortable("destroy");

从文档中:

完全删除可排序功能。这将使元素返回到它的预初始化状态。


推荐阅读