1

小さな画面にいくつかの要素を追加し、大きな画面でそれらを削除するには、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();
});
4

1 に答える 1

0

私はそれを理解することができました。私の場合の問題は、要素を逆の順序で削除する必要があることでした。具体的には .remove() 関数とは実際には何の関係もありませんでした。一部の要素は、移動中の他の要素に依存していました (上記の切り捨てられたコードには示されていません)。

これが、この非常に特定の状況にある可能性のある他の誰かに役立つことを願っています.

于 2013-09-20T19:36:30.587 に答える