繁体   English   中英

如何处理带有jQuery的动态创建的元素?

[英]How can I manipulate dynamically created elements wth jquery?

我是一个jQuery新手,正在用jQuery创建一个框,然后“删除”它们。 但是我想使用相同的代码删除已创建元素范围内和已创建元素范围内的框。

HTML:

<button id="create">Cria</button>
    <div id="main">
        <div class="box">
            <a class="del-btn" href="#">Delete</a>
        </div>
</div>

JS:

    var box = {

  create: function() {
      var box = $('<div class="box">');
      var delBtn = $('<a class="del-btn" href="#">Delete</a>');
      box.appendTo('#main');
      delBtn.appendTo(box);
  },

  destroy: function(elem) {
    elem.fadeOut();
  } 

}

function deleteBox () {

}

$(function() {

  $('#create').click(function() {
    box.create();
  });

  $('.del-btn').click(function() {
    var elem = $(this).parent();
    box.destroy(elem);  
    return false;
  });

});

如果将delete事件放在create click事件中,则可以删除动态创建的元素。 如果将其放在外面,则可以删除HTML中的元素。 我知道这是一个简单的问题,但我不知道该如何解决。 谢谢

您可以使用委托事件方法

$("#main").on("click", ".del-btn", function() {
    var elem = $(this).parent();
    box.destroy(elem);  
    return false;
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM