我需要使用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();
});
答案 0 :(得分:0)
我能够弄清楚。我的问题是我需要以相反的顺序删除元素。它实际上与.remove()函数没有任何关系 - 它是某些元素依赖于其他元素也被移动(上面的截断代码中没有显示)。
希望这可以帮助处于这种非常特殊情况的其他人。