在Oracle Apex 5.0中,无法在侧面导航列表模板中使用title属性

Cannot use the title attribute in the side navigation list template in Oracle Apex 5.0

本文关键字:列表 属性 title 导航 Apex Oracle 侧面      更新时间:2023-09-26

我正在使用Apex 5.0,我在主题42中。我使用的是带有侧导航栏的标准页面模板。此侧面导航栏使用模板"侧面导航菜单"。现在我复制了这个模板,并制作了新版本,我将其命名为Side Navigation Menu 2.0,我将这个新模板设置为在所有使用的地方使用它来代替Side Navigate Menu,因为您无法编辑原始模板。我修改了这个模板中的JavaScript,使默认布局最小化,我认为这对我的问题没有影响,因为它也发生在原始模板中。

问题:

我正在尝试使悬停标题与列表项一起出现。现在,在默认模板中,有一个title属性设置为链接<a>元素的替换字符串#A04#。所以它类似于这个:

 <li data-current="true" data-id="#A01#" data-disabled="#A02#"
 data-icon="#ICON_CSS_CLASSES#"><a
 href="#LINK#" title="#A04#">#TEXT_ESC_SC#</a>

问题是,当我在列表中设置A04替换字符串时,没有设置title属性。我更改了要包含在li元素中的属性,但仍然遇到同样的问题。现在,我想我已经将问题缩小到了列表的父元素中使用的类,所以我想我必须查看默认的javavscript或css文件,才能真正了解为什么忽略title属性。我检查了列表元素,但标题甚至没有出现。有人知道我是否应该在哪里查看这些js和css文件,或者我是否走错了方向吗?

任何事情都会有帮助的,谢谢。如果需要,我可以提供截图或更多信息。

导航列表中的两个主要div是:

Main div class = "t-Body-nav" 
Main div class = "t-TreeNav   a-TreeView"

我能够解决这个问题。这篇文章的最后是一张gif图,上面是我的解决方案的结果。我不会详细写它是如何工作的,但这里有两个教程如何做到这一点

  1. 如果你只想在一个页面上显示菜单标题,只需遵循以下步骤:

    第一步->在您的APEX应用程序中,转到您想要功能的页面(我选择了主页)

    第二步->转到事件部分

    第三步->基于图像创建动态动作(您可以在本文末尾找到所有脚本)

    你已经完成了,它应该起作用。

  2. 如果你想在所有页面上显示菜单标题,只需按照以下步骤操作:

    第一步->在您的APEX应用程序中,转到全球页面

    第二步->转到事件部分

    第三步->基于图像创建动态动作(您可以在本文末尾找到所有脚本)

    你完成了,它应该在所有页面上都有效。

Scripts:
 
document.querySelector(".t-Body-nav");
const elements = document.querySelectorAll(".a-TreeView-label");
for (let i = 0; i < elements.length; i++) {
    name = elements[i].innerText;
    elements[i].title = name;
}

结果