Javascript 如何从js获取zk元素id

Javascript 如何从js获取zk元素id,javascript,zk,Javascript,Zk,我正在使用ZK,我想从js获取ZK元素的id。 我使用了不同的方法: 像原生html一样声明组件,并从js获取id,但这是不正确的。 我已经使用ZK的html标记声明了元素,但也不正确。 我看过一些函数,比如Component.getFellow('Component_name'),最后我读了关于UUID的内容,并使用了一些示例代码,但我无法识别元素id,例如: <label id=titleBook/> 来自javaScript 有什么想法吗? 谢谢。您遇到的问题是您在ZUL

我正在使用ZK,我想从js获取ZK元素的id。 我使用了不同的方法:

像原生html一样声明组件,并从js获取id,但这是不正确的。 我已经使用ZK的html标记声明了元素,但也不正确。 我看过一些函数,比如Component.getFellow('Component_name'),最后我读了关于UUID的内容,并使用了一些示例代码,但我无法识别元素id,例如:

<label id=titleBook/>

来自javaScript

有什么想法吗?
谢谢。

您遇到的问题是您在ZUL(ZK标记)中分配元素的
id
与呈现的DOM元素id不是一对一的。ZK这样做有很多原因,但需要注意的是,您需要在不知道DOM元素id的情况下引用它们

ZK还提供了一个JavaScript框架,使之变得简单,他们经常将其称为“客户端编程”

看一看ZK关于客户端编程的文档,特别是关于

在这里,您将看到


在这里,我们利用了ZK JavaScript API中的和全局变量。前者只是jQuery的
$()
,后者是ZK的对应项。区别在于jQuery函数返回一个jQuery对象,而后者返回一个ZK小部件。这两个控件都扩展为支持新的
$
CSS样式选择器,该选择器引用ZK小部件id(您在ZUL/Java中分配的id)。

试试这个

zk.Widget.$(jq('$titleBook'))

谢谢你。这是非常有用的+1“后者返回一个ZK小部件。”-它返回一个jqzq()对象,您必须在该对象上调用$()才能获取小部件,例如ZK($myButtonId”)。$(),至少在最新的ZK版本(7.0.3)测试控制台navegator中是这样
<zk>
    <script defer="true">
        jq("$titleBook").css('color', 'green');
        zk("$titleBook").setValue('sean is cool');
    </script>
    <label id="titleBook"/>
</zk>
zk.Widget.$(jq('$titleBook'))