我使用下面的代码将活动类添加到菜单项。该网站是99%使用WooCommerce的Ecomm,我使用产品类别作为顶级导航项目。下面的代码适用于几乎所有项目,除非在产品子类别上处于活动状态。
add_filter('nav_menu_css_class' , 'special_nav_class' , 10 , 2);
function special_nav_class ($classes, $item) {
if (in_array('current-post-ancestor', $classes) || in_array('current-page-ancestor', $classes) || in_array('current-menu-item', $classes) ){
$classes[] = 'active ';
}
return $classes;
}
本质上,我希望顶层导航项被标记为活动类,即使选择了子类别。
我认为最好的应用是使用javascript或jQuery,假设你的菜单是这样的:
<nav>
<ul>
<li><a href="">Top level</a></li>
<li><a href="">Top level</a></li>
<li><a href="">Top level</a>
<ul>
<li><a href="">Sub category</a></li>
<li><a href="">Sub category</a></li>
<li class="active"><a href="">Sub category</a></li>
<li><a href="">Sub category</a></li>
</ul>
</li>
<li><a href="">Top level</a></li>
<li><a href="">Top level</a></li>
</ul>
</nav>
我们需要做的就是检查哪一个顶级菜单中有一个类为active
的li,因此我们的jquery代码如下所示:
<script>
jQuery(document).ready(function(){
// Adding class "active" to all top-level menus that contain an li.active item
$('nav > ul > li').each(function(){
if( $(this).has('li.active').length ) {
$(this).addClass('active');
}
});
});
</script>
这是一把小提琴
我有一个基于WordPress的网站,我的主题通过添加“当前菜单项”类来突出当前菜单项。 问题是,我有一个包含3个子菜单项的菜单项,它们都指向具有不同容器ID的相同页面(它们的href包含容器ID),因此它们都被突出显示。 如何仅突出显示href指向当前查看的容器的菜单项? 我尝试了这个答案,在标签后面插入了以下内容:
我有这样的菜单结构: 如果单击菜单中的相同href,我想将活动类添加到选项卡中,即: 我正在处理这段代码,但它似乎与我想要达到的目标不太接近: 如何添加活动类到选项卡和删除它从所有其他与点击相同的href链接点击在下拉菜单? 欢迎任何建议
如果菜单项url==当前url,我有以下代码可以将活动css类添加到菜单项: 但这会将该类添加到所有菜单项中。有什么提示吗?
我有一个android webview默认文本选择的问题。我想做的是添加一个项目到默认菜单,它出现在webview的文本选择上 我想要的功能是添加一个按钮到左侧的全选。如何做到这一点
我向每个Wordpress菜单项添加了类,但它们没有出现在代码中。 我的菜单: 我的职能。php包括 所以我有 但是没有我在Wordpress管理菜单中添加的任何类。为什么呢?
在React Native中,进行开发构建时,您可以摇动设备或使用菜单按钮打开开发人员菜单。如何将其他自定义项添加到此菜单?我还没有找到任何关于添加另一项的文档,但我认为从“开发”菜单中选择“在服务器环境(开发、产品等)之间切换”会非常方便,而不是针对每个环境进行单独的构建测试。