我正在开发一个使用自建 jQuery 手风琴进行导航的 Wordpress 主题:
// 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/