dojo.byId 和 dijit.byId 有啥区别?
Posted
技术标签:
【中文标题】dojo.byId 和 dijit.byId 有啥区别?【英文标题】:What the difference between dojo.byId and dijit.byId?dojo.byId 和 dijit.byId 有什么区别? 【发布时间】:2010-11-11 20:45:51 【问题描述】:每次尝试获取页面中元素的值时,我都会遇到未定义的错误:我已尝试dijit.byId('myid').innerhtml('loading...');
我收到一个错误
但是当我使用 jquery 做同样的事情时,它可以工作$('#myid').html('loading ...')
在道场中这个$('#myid').html()
的等价物是什么?
感谢您的任何建议
【问题讨论】:
【参考方案1】:dijit.byId
通过某个 id 返回一个 dijit 对象。
dojo.byId
等同于$()
。要获取/设置它的 HTML,请使用
dojo.byId("my_id").innerHTML
dojo.byId("my_id").innerHTML = some_text`
请注意,dojo.byId
只是 document.getElementById
的包装,因此您可以使用所有基本功能。
【讨论】:
DojoCampus 有一篇关于 jsId、dijit.byId() 和 dojo.byId() 的详细文章:dojocampus.org/content/2008/05/06/jsid-dijitbyid-and-dojobyid 应该限定dojo.byId
相当于 $()
大概在 Prototype 中; jQuery 的$()
更接近dojo.query
。我也写过关于 dojo base 和 Dijit 之间的一些常见混淆点,也许它会有所帮助:kennethfranqueiro.com/2010/06/of-dijits-and-dom-nodes【参考方案2】:
dijit.byId("my_id") ----> returns the widget associated with the domNode.
dojo.byId("my_id") -----> returns the domNode itself.
使用 dijit 访问 domNode:
dijit.byId("my_id").domNode.innerHTML
【讨论】:
以上是关于dojo.byId 和 dijit.byId 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
使用 dijit.byId w dojox.mobile 小部件
Dojo: TypeError: dojo.byId(...).attr is not a function