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

Leave a Comment.