javascript - 如何通过 Javascript 定位另一个元素

标签 javascript html jsf

我的 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

这让我想到以下问题:

  1. 为什么 HTML 渲染时 ID 会发生变化?

  2. 如果元素的 ID 被随机添加到前面,我将如何定位该元素 字符串?

  3. 有没有办法获取随机字符串而不是对其进行硬编码 与控件 ID?

最佳答案

如果您坚持使用直接 DOM,则可以使用查询选择器:

document.querySelector('[id$=it15]')

关于javascript - 如何通过 Javascript 定位另一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33819984/

相关文章:

javascript - Android上的Chrome浏览器对音频输出有哪些要求?

javascript - 如何在jquery中使用函数体onload?

javascript - 隐藏 <option> 类

jsf - 是否跨 session 范围的 JSF 支持 bean 观察到 CDI 事件

jsf - 在 JSF 2.3 中通知用户 session 结束

javascript - XHR/setTimeout/Promise 在 Chrome 中停止滚动之前不会完成

javascript - 元素 id 获取数据属性的值

html - 如何使用 Kendo UI Web 布局简单、对齐的表单

javascript - '高度 : Toggle' on JQuery's 'animate' makes Div keep toggling

jsf - 通过 CDI 保存和使用 cookie