我正在實現一個下拉菜單。我想隱藏菜單,如果點擊其他地方。我試過使用jquery.not,但我觀察到jquery不選擇返回所有內容
$('div').not('.nav-toggle').hide()
隱藏所有包括與類nav-toggle的div。難道我做錯了什麼?
我正在實現一個下拉菜單。我想隱藏菜單,如果點擊其他地方。我試過使用jquery.not,但我觀察到jquery不選擇返回所有內容
$('div').not('.nav-toggle').hide()
隱藏所有包括與類nav-toggle的div。難道我做錯了什麼?
Mike McCaughan的評論可能是對的。你有容器DIV也被這個隱藏。
你應該給所有的DIV你想隱藏一個普通的類,我在下面調用newclass
。然後,你可以這樣做:
$('.newclass:not(.nav-toggle)').hide();
這隱藏了所有不同之處在於還.nav-toggle
的那些的.newclass
元素。
您的代碼應該隱藏不具備類.nav撥動任何格...
這應該做的伎倆:
$('.nav-toggle').hide();
,或者該元素後來安裝的DOM,則:
$(document).find('.nav-toggle', function(){
$(this).hide();
});
如果你只有一個,如果你有一個以上的元素
$('.nav-toggle').each(function(){
$(this).hide();
});
或
$(document).find('.nav-toggle').each(function(){
$(this).hide();
});
希望它能幫助。
試試這個:
$(document).click(function() {
$('.nav-toggle').hide()
});
$(".menu_show").click(function(e) {
$('.nav-toggle').show()
e.stopPropagation();
return false;
});
請發表[MCVE。一行代碼不足以幫助我們。 – j08691
你確定'.nav-toggle'元素不包含在'div'中嗎?它的父母很可能被隱藏,這意味着它也會被隱藏起來。 –
你的代碼應該隱藏沒有類'.nav-toggle'的任何'div',如果它包含一個孩子,那麼它應該隱藏起來......這應該做到這一點:'$('。nav-toggle') .hide();'或者如果該元素稍後被附加,那麼:'$(document).find('。nav-toggle',function(){$(this).hide()});'if you only有一個菜單... –