jQuery remove()不删除元素

时间:2017-08-25 13:44:29

标签: javascript jquery asp.net-mvc

我有一些代码会删除一个项目并添加3个字母' app-code'然后,对于cookie,该网站会读取此cookie,以便下次不会绘制它。

我尝试编写代码,以便在用户点击“隐藏”按钮时从DOM中删除该项目。 (这是我试图删除的div内部。)

的JavaScript

$('.HideLinkButton').click(function(e){
e.preventDefault();
var enabled = $(this).hasClass('ButtonToggled');
var favoured = $(this).closest('.Item a').hasClass('btn-favourite');
if (!favoured) {
    if (enabled) {
        removeHiddenLink($(this).closest('.Item').data('application-code'));
        //$(this).removeClass('ButtonToggled');
        $(this).closest('.Item a').removeClass('Hidden');
        $(this).closest('.Item').remove();

        //Adds hidden to class
        $(this).closest('.Item a').addClass('Hidden');
        $(this).closest('.Item').addClass('Hidden');

        //Removes element completely
        $(this).children('.Item').remove();

    } else {
        //Adds application code to 'hidden'cookie.
        addHiddenLink($(this).closest('.Item').data('application-code'));

        //Adds 'buttontoggled' to HideButton div.
        $(this).addClass('ButtonToggled');

        //Removes element completely
        $(this).children('.Item').remove();
    }
}

});

由于某种原因,最后一条.remove()行不起作用

我正在谈论这个:

$(this).children('.Item').remove();

当我刷新页面时,项目消失了。这是因为它已将应用程序代码放入隐藏的' cookie,所以C#脚本知道不要把它写到屏幕上。

单击时它不会删除该元素。

我无法在网上找到任何内容,或任何无法解决此问题的原因。

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试将行更改为:

 $(this).find('.Item').remove();