我的 jDeveloper 版本是11.1.1.9.0
我知道通过 clientListener
标记定位元素。但这只会给我一个对其声明的元素的引用。如果我想根据 jDeveloper 中声明的 ID 定位页面上的另一个元素,该怎么办?例如:
<af:inputText label="Label 1" clientComponent="true" id="it15"> // what's declared in jDeveloper
它呈现为 HTML 为:
<input type="text" class="x25" name="r1:0:it15" id="r1:0:it15::content">
注意 it15
如何转换为 r1:0:it15
。因此,执行以下操作无法获取对该元素的引用:
document.getElementById("it15"); // returns null
AdfPage.PAGE.findComponent("it15"); // returns undefined
这让我想到以下问题:
为什么 HTML 渲染时 ID 会发生变化?
如果元素的 ID 被随机添加到前面,我将如何定位该元素 字符串?
有没有办法获取随机字符串而不是对其进行硬编码 与控件 ID?
最佳答案
如果您坚持使用直接 DOM,则可以使用查询选择器:
document.querySelector('[id$=it15]')
关于javascript - 如何通过 Javascript 定位另一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33819984/