javascript - 如何删除克隆的元素

标签 javascript jquery html css

使用Jquery,我试图做一个类似于本网站使用的过滤系统的功能(example)

如果您单击其中一个过滤器元素,它将显示在另一个区域中。您只需单击即可删除所选过滤器。

我的代码适用于克隆过滤器元素并将其显示在另一个区域,但是 我无法删除它。

我进行了数小时的研究,但找不到任何解决方案,因此非常感谢您的帮助!

这是我的代码

---html---

    <div id="filter-selected>
       <ul>
          <!--selected element comes here -->
       </ul>
    </div>

    <div id="filter-options">
       <ul>
           <li>
               <!--clicking this list will clone itself to the above area-->
               <span>Value1</span>
           </li>
           <li>
               <!--clicking this list will clone itself to the above area-->
               <span>Value2</span>
           </li> 
       </ul>
    </div>

---Jquery---

$('#filter-options > ul > li').click(function(event){
    var $filter = $(this).children('span').clone();

    $filter.appendTo('#filter-selected > ul').wrap('<li class="filtering"></li>');
});

$(.filtering').click(function(){
    $(this).remove();
});

最佳答案

由于元素是动态创建的,所以需要事件委托(delegate)

$('#filter-selected').on('click', '.filtering', function(){
    $(this).remove();
});

关于javascript - 如何删除克隆的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18326841/

相关文章:

javascript - 使用单选按钮显示特定选项?

java - 阅读 Nashorn JO4 和 NativeArray

javascript - jQuery appendTo 列表框在 IE 中不起作用

jquery:嵌套标签和悬停()在 IE 中不起作用

javascript - JQuery/JQuery UI 水平分隔线

html - 将文本突出显示限制在 <pre> block

javascript - ngx-translate 和 ngx-i18next 有什么区别

jquery - 使用 jquery 删除包含数据属性的 html 5 表行

html - 我的 Bootstrap 列没有排列

html - 无法让 css 转换工作