单击.close时删除div

时间:2015-12-15 00:41:09

标签: jquery

您知道如何删除包含.close链接的div当单击.close链接时?我正在尝试$(this).closest('div').remove(),但它不起作用......

$(".close").hide();
$(".delete-link").bind("click", function () {
  $(".close").addClass("active");
  $(".close").show();
  $(".close").bind("click", function () {
    $(this).css("background","red");
    $("#content-message").show();
    $(".delete-div").bind("click", function () {
      var teste = $(this).closest('div').remove().html();
      alert(teste);
    });
  });
});

https://jsfiddle.net/000dqyLd/

2 个答案:

答案 0 :(得分:1)

试试这个:

$(".close").hide();
$(".delete-link").bind("click", function () {
  $(".close").addClass("active");
  $(".close").show();
  $(".close").bind("click", function () {
    var $this = this; // 'x'-> element which was clicked
    $(this).css("background","red");
    $("#content-message").show();
    $(".delete-div").bind("click", function () {
      $($this).closest('.content-link').remove(); // find the closest element to the element which triggered the click event with class 'content-link' and remove it.
      $("#content-message").hide(); // optional
      $(".close").hide(); // optional
    });
  });
});

https://jsfiddle.net/szcq649v/3/

答案 1 :(得分:1)

  

虽然你想从与之无关的元素做出一个动作   你希望与你做这个动作的元素应该传递一些东西   像index()或具有数据属性的东西..所以检查此代码

$(".close").hide();
 $(".delete-link").on("click", function () {
    $(".close").addClass("active").show();
  });
  $(".close").on("click", function () {
    var getIndex = $(this).closest('.content-link').index();
    $(this).css("background","red");
    $("#content-message").attr('data-div' , getIndex).show();
  });
  $(".delete-div").on("click", function () {
      var getIndex = parseInt($('#content-message').attr('data-div') , 10);
      alert(getIndex);
      $('.content-link').eq(getIndex - 1).remove();
      $('#content-message').hide();
  });
  $(".cancel-div").on("click", function () {
        $('#content-message').hide();
  });

Working Demo