如何在jQuery中仅当body存在指定类时执行CSS隐藏菜单元素?
修复基于TranslatePress语言类的菜单元素隐藏脚本
你的代码无法运行是因为缺少if条件判断关键字,语法不完整导致浏览器解析失败。下面是修正后的方案:
修正后的jQuery代码
// 检查body是否包含俄语对应的类 if ($('body').hasClass('translatepress-ru_RU')) { $("#menu-item-17728").css("display","none"); } else { $("#menu-item-17728").css("display","block"); }
补充:原生JavaScript写法(无需依赖jQuery)
如果你的网站未加载jQuery,用这个更稳妥:
const targetMenu = document.getElementById('menu-item-17728'); if (document.body.classList.contains('translatepress-ru_RU')) { targetMenu.style.display = 'none'; } else { targetMenu.style.display = 'block'; }
额外优化:纯CSS实现(更简洁高效)
不需要JS也能实现需求,性能更好还能避免脚本加载顺序问题:
/* 俄语环境下隐藏菜单 */ body.translatepress-ru_RU #menu-item-17728 { display: none; } /* 其他语言下显示菜单 */ body:not(.translatepress-ru_RU) #menu-item-17728 { display: block; }
内容的提问来源于stack exchange,提问作者TecNight
相关产品推荐
相关产品推荐

