您知道如何删除包含.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);
});
});
});
答案 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
});
});
});
答案 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();
});