dojo.byId()有效,但dijit.byId()没有

Jas*_*ett 6 dojo

我有一个带id的选择字段appointment_stylist_id.出于某种原因,第一个返回我的元素,但第二个返回undefined:

  console.log(dojo.byId('appointment_stylist_id'));
  console.log(dijit.byId('appointment_stylist_id'));
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?

Mat*_*all 15

这是因为dojo.byId你想做什么(找到具有特定ID的DOM元素),并且dijit.byId不这样做.

dijit.byId是一个按指定名称(id)查找特定小部件的功能.此函数类似dojo.byIddojo.byId返回DOMNodes,dijit.byId返回一个JavaScript对象,该对象是小部件的实例.

...

dijit.byId并且dojo.byId经常被混淆,特别是第一次使用者.当您希望直接处理窗口小部件的JavaScript对象实例并访问该窗口小部件的功能时,应使用此函数.

http://dojotoolkit.org/reference-guide/dijit/byId.html

也可以看看

dojo.byId和dijit.byId有什么区别?