小部件上的 dojo 查询

Posted

技术标签:

【中文标题】小部件上的 dojo 查询【英文标题】:dojo query on widgets 【发布时间】:2011-11-16 15:24:52 【问题描述】:

dojo.query 函数能否用于查找具有某些属性的小部件?

例如,如果我想获取所有类型为 hidden 的输入小部件的列表。在我看来, dojo.query 仅适用于 DOM 对象,并不意味着与对象一起使用。这是正确的吗?

例如,dojo.query('input[type=hidden]') 通常适用于常规 html 输入字段,但不适用于 Dojo 输入字段,尤其是它们往往包含在 DIV 中等。

谢谢

【问题讨论】:

【参考方案1】:

你是对的。 对于 dijit,使用 dijit.registry 在您的页面中查找小部件:http://dojotoolkit.org/reference-guide/dijit/registry.html

【讨论】:

谢谢。我会玩它,希望它能做我需要做的事情。 如果您使用 firebug,dojo 扩展可以提供帮助:getfirebug.com/wiki/index.php/…【参考方案2】:

您还可以为 dojo.query 指定要搜索的节点。

I.E.

dojo.query('input[type=hidden]', widgetObject.domNode);

这可能会有所帮助,只是把它扔在那里

【讨论】:

请注意,如果小部件已从页面中删除(例如关闭的选项卡),则 widgetObject.domNode 可能为空,您的查询将发现 all hidden-inputs整个页面,这可能会导致一些有趣的错误。

以上是关于小部件上的 dojo 查询的主要内容,如果未能解决你的问题,请参考以下文章

dojo:通过 dom 节点销毁所有小部件

Dojo Dijit - 小部件中的小部件

自定义小部件内的 dojo 小部件的可寻址性

Dojo 选择小部件验证

ajax 请求后重新加载 dojo 小部件

dojo: 小部件已注册错误