我的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?
答案 0 :(得分:1)
如果您只使用直接的DOM,则可以使用查询选择器:
document.querySelector('[id$=it15]')