jsId, dijit.byId() and dojo.byId()的区别
请看下面的dojo的代码片段:
<div id="centerPane"><div id="centerPane" dojoType="dijit.layout.ContentPane" jsId="cPane"> Hello Word! </div></div> |
dojo.byId()
dojo.byId() 与平时我们在js代码中使用的document.getElementById() 是一样的,根据DOM节点的ID获取该节点对象。例如:
dojo.byId("centerPane").style.height = '300px'; |
设置centerPane Div的高度为300px;
dijit.byId()
dijit.byId()是获取由dojo widget 系统创建的对象,然后你可以调用这个这个对象的方法或改变这个对象的属性。例如:
dijit.byId("centerPane").setContent("Hello Everyone!"); |
获取由dojoType定义的dijit.layout.ContentPane对象,然后调用这个对象的setContent方法改变这个面板的内容。
另外你也可以改变这个对象的属性,如下:
myContentPane = dijit.byId("centerPane"); myContentPane.domNode.style.height = '300px'; |
jsId
jsId是直接获取dojo widget的一种方便的方法。它是一个全局变量,与dijit.byId()返回的是同一对象。例如:
cPane.domNode.style.height = '300px'; cPane.setContent("Hello Everyone!"); |
jsId不是必须的,但不允许有相同的jsId。
转自www.wcfonline.cn