Oracle Apex 22.x:如何为导航菜单菜单项设置自定义CSS ID
解决APEX共享组件列表菜单项自定义ID不生效的问题
先说明为啥你填的「ID Attribute」没效果:APEX里不同类型的列表(比如你用的树形导航),这个字段大概率不是绑定到单个菜单项上的,而是应用到列表的外层容器或其他关联元素,所以菜单项依然会用系统自动生成的默认ID。
给你几个靠谱的解决办法:
- 用自定义属性字段直接添加ID:在列表条目的「Custom Attributes」中直接填写
id="myId",这个字段的内容会直接追加到菜单项的HTML标签上,肯定能生效。 - 通过JavaScript动态替换ID:如果上面的方法不适用,就等页面加载完成后手动修改ID。把这段代码加到页面的「JavaScript」→「Function and Global Variable Declaration」里:
document.addEventListener('DOMContentLoaded', () => { const targetMenuItem = document.getElementById('t_TreeNav_4'); if (targetMenuItem) targetMenuItem.id = 'myId'; }); - 退一步使用CSS类替代:如果只是为了选中元素设置样式,没必要非要用ID。在「CSS Classes」里添加自定义类名比如
my-custom-menu-item,之后用.my-custom-menu-item来编写CSS样式,既灵活又不会出现ID唯一性冲突的问题。
- 用自定义属性字段直接添加ID:在列表条目的「Custom Attributes」中直接填写
内容的提问来源于stack exchange,提问作者DiChKr
相关产品推荐
相关产品推荐

