2013-09-30 91 views
1

我已經使用jquery的hide()函數在頁面加載時隱藏了特定類的所有元素。我試圖在單擊鏈接時基於它的ID再次顯示該元素。隱藏所有具有特定類的元素,並通過ID顯示

有7個元素被隱藏,每個元素具有不同的ID。當點擊包含href="#element-id"的鏈接時,它應該只顯示該元素並隱藏所有其他元素。

這裏是我當前的代碼隱藏要素:

var menu = $('div.menu-wrapper'); 
menu.hide(); 

,這裏是我所認爲應該顯示的點擊正確的元素:當點擊

$('area').click(function() { 
    if($(this).attr('id') !== 'button') { 
     var target = $(this).attr('href'); 
     target.toggle('slide', { 
      direction: 'right' 
     }, 900);  
    } 
}); 

現在什麼也沒發生元素上。如何隱藏隱藏類menu-wrapper的所有元素,而只有類menu-wrapper的元素和正確的ID是可見的?

+0

可我們也看到了HTML?或至少是一個模式,它是如何 – aleation

+0

$('area')不是有效的選擇器,缺少一個點或# – Krishna

回答

1

嘗試

var menu = $('div.menu-wrapper'); 
menu.hide(); 
//register the event handler to area elements other than #button 
$('a:not(#button)').click(function() { 
    //hide all elements referred menu 
    menu.hide(); 
    //get the target jQuery wrapper, the href need to start with # 
    var target = $($(this).attr('href')); 
    target.toggle('slide', { 
     direction: 'right' 
    }, 900); 
}); 
+0

謝謝!這正是我所需要的。我會盡快接受答案。 - 一個問題是,它現在不會滑出,但只是出現。它可以滑回,雖然......任何解決方案? –

相關問題