读取 JavaScript 中的 wicket id 值

Read wicket id value in JavaScript

所以我在 HTML:

中设置了 wicket id
<span wicket:id="current_env"></span>

我需要能够在 JavaScript 中阅读。 我试过的是使用 document.getElementById('current_env') 但这一直在返回 null.

这可能吗?如果没有,还有另一种方法可以简单地将 id 值传递回我的 JS 吗?

请使用下面 Mihir 的回答

以下可行,但速度较慢,不是好的解决方案!


您可以遍历所有跨度,并查找具有所需 wicket:id:

的跨度
Array.from(document.getElementsByTagName('span')).forEach(v => {
    if (v.getAttribute('wicket:id') == 'current_env') {
        alert(v.innerHTML);
    }
});

DEMO

你得到 null 的原因是因为它是 wicket:id 而不是 html "id"。要获取html id 属性,需要在添加组件时在java 代码中使用setMarkupId("currentEnv") 设置markupId。然后将该 'id' 值用于您的 java 脚本。

您可以通过添加 markupId 来验证这一点,然后查看在 html 元素中显示 id="currentEnv" 的页面资源。

此外,您可能需要考虑从 Wicket java class 中调用 java 脚本。这样,您可以通过将 markupid 作为参数传递来创建可重用组件。