jQuery .remove()没有删除(在窗口调整大小)

时间:2013-09-20 18:51:03

标签: jquery responsive-design media-queries

我需要使用jquery在小屏幕上添加一些元素,然后在较大的屏幕上删除它们。但由于某种原因,.remove()并没有删除任何东西。我的所有其他代码都在工作 - 只是没有.remove()。我做错了什么?

jQuery(function ($) {
    var resizeflag = false;
    $(window).resize(function () {
        if ($("#wrapper").css("overflow") === "visible") { // sample css to test if media query has fired
            if (resizeflag == false) {
                resizeflag = true;
                // add mobile menu icon
                $('#mobile-menu').before('<a id="menu-icon">Menu</a>');
                // add Economic Development to header on homepage only
                $('#homepage #site-logo').after('<div class="logo-tag">ECONOMIC DEVELOPMENT</div>');
                // add footer logo 
                $('#footer-nav').prepend('<div class="mobile-footer-logo"></div>');
            }
        } else {
            if (resizeflag == true) {
                resizeflag = false;
                // must undo these DOM manipulations if the browser is expanded again or else it will loop 
                $("a#menu-icon").remove();
                $('div.logo-tag').remove();
                $('.mobile-footer-logo').remove();
            }
        }
    }).resize();
});

1 个答案:

答案 0 :(得分:0)

我能够弄清楚。我的问题是我需要以相反的顺序删除元素。它实际上与.remove()函数没有任何关系 - 它是某些元素依赖于其他元素也被移动(上面的截断代码中没有显示)。

希望这可以帮助处于这种非常特殊情况的其他人。