在JQuery中删除时间戳的问题

时间:2014-05-15 11:22:38

标签: javascript jquery html css

当我双击卡片时,弹出对话框,然后可以创建评论。到现在为止还挺好。创建评论时,可以删除它。

问题是,时间戳无法删除。我试图删除时间戳的方式是这一行:$('.labelStyle').remove(); 我希望能够删除时间戳,就像其他元素一样,但是如何?

Live Demo

JQuery:“点击”处理程序

$('#divComments').on('click', '.delete', function (e) {
        var uniqueval = $(this).attr("for")
        var NameOfDataValue = $('label[for=' + uniqueval + ']').text();
        $('img[for=' + uniqueval + ']').remove();
        $('label[for=' + uniqueval + ']').remove();
        $('p[for=' + uniqueval + ']').remove();
        $('.labelStyle').remove();
        var arr = $('#divComments').data('comments');
        var theIndex = -1;
        for (var i = 0; i < arr.length; i++) {
            if (arr[i].commentString== NameOfDataValue) {
                theIndex = i;
                break;
            }
        }
        if (theIndex == -1) {
            alert("Error");
        }
        else {
            $('#divComments').data("comments").splice(theIndex, 1);
        }

    });

JQuery:添加评论功能

function addComment(commentString) {

        var container = $('#divComments');
        var inputs = container.find('label');
        var id = inputs.length + 1;
        var data1 = {            
            commentString: commentString
        };

        var div = $('<div />', { class: 'CommentStyle' });

        $('<label />', {
            id: 'comment' + id,
            for: 'comment' + id,
            text: commentString
        }).on('change', function () {            
            data1.commentString = $(this).text();
        }).appendTo(div);      

        $('<br/>').appendTo(div);

        var $Image = $('<img />',
            {
                "src": "/Pages/Images/alert.png",
                "class": "CommentImage",
                "for": "comment" + id
            }).appendTo(container);

        var d = new Date();
        var $fulaDate = $('<div>' + d.getDate()
            + "-" + monthNames[d.getMonth()]
            + "-" + d.getFullYear()
            + "//" + d.getHours()
            + ":" + d.getMinutes()
            + '</div>').addClass('labelStyle').append(' ~').appendTo(div);

        var $edit = $('<p />', {
            class: 'edit',
            for: 'comment' + id,
            text: 'Edit'
        }).append(' ~').appendTo(div);

        var $delete = $('<p />', {
            class: 'delete',
            for: 'comment' + id,
            text: 'Delete'
        }).appendTo(div);        

        div.appendTo(container).focus();

        container.data('comments').push(data1);

    }

1 个答案:

答案 0 :(得分:0)

你可以这样做:

$(this).parent().find('.labelStyle').remove();

这将选择所点击按钮的父级(.CommentStyle),然后找到.labelStyle并将其删除。