我正在開發其採用了自建jQuery的手風琴用於導航的WordPress的主題:爲什麼我的jQuery的preventDefault()工作不正確?
// jQuery Footer Navigation Slide
jQuery('#footer-accordion > li > a').on('click', function(e){
if(jQuery(this).parent().has('ul')) {
e.preventDefault();
if(!jQuery(this).hasClass('open')) {
jQuery('#footer-accordion li ul').slideUp(350);
jQuery('ul li a').removeClass('open');
jQuery(this).next('ul').slideDown(350);
jQuery(this).addClass('open');
} else if(jQuery(this).hasClass('open')) {
jQuery(this).removeClass('open');
jQuery(this).next('ul').slideUp(350);
}
}
});
,我現在可是有麻煩它整合到這個工作就好了,當我在裸HTML建是我的WordPress的主題。看起來e.preventDefault()
我在裏面也有防止菜單項(ul li a
)內沒有ul
裏面的默認(按照鏈接)。我想我的選擇器很好,因爲它在我的HTML中工作。
簡而言之:如果我點擊一個ul li a
,其中li
沒有嵌套ul
,我希望定向到一個頁面。但是,當我這樣做的時候沒有任何反應。 .slideUp()
函數工作得很好,我可以單擊嵌套的ul
中的鏈接。我的選擇器錯了嗎?我是否給wp_nav_menu()
函數提供了錯誤的變量?
這是有關部分從footer.php
:
<?php wp_nav_menu(array(
'container_class' => 'footer-navigation clearfix',
'menu_id' => 'footer-accordion'
)); ?>
這是WordPress的做的什麼:http://jsfiddle.net/vKmfu/
爲什麼你不使用'wp_nav_menu'的自定義Walker類? – mate64
因爲我不知道如何。這似乎是更簡單的解決方案。 –