通过dojo访问元素时出现问题.我的道场1.8
Issue while accessing element by dojo.byId dojo 1.8
我试图通过使用dojo访问div元素文本。byId,但它返回的值是第一次选择值时设置的值。它以某种方式将最初选择的值绑定到div的id,因此即使在我将值更改为其他值之后,也会返回相同的值。
var startDateLabel = dojo.byId("startDateLabel");
<label class="secondaryColor bold75Font floatRight" id="startDateLabel">${startDate} </label>
我尝试使用注册表。ById,但由于它是在一个小部件,创建了不止一次,它给出了"id已注册错误"。为了删除它,我还使用了destroyRecursive方法,但这也不起作用。
前面,我使用容器的id来加载小部件并遍历到子层次结构中以获得标签值,它工作得很好。但是子遍历代码使它有点混乱。类似的var startDateCont = registry.byId("startDateContainer");var startDateLabel = startDateCont.domNode.children[1].children[1].children[1].innerHTML;
在道场有其他的方法来实现这个????
如果您在小部件中使用这个,您甚至不应该使用id(或至少使用生成的id)。在使用小部件时获取DOM节点引用的最佳方法是使用附加点。例如,考虑以下HTML:
<label class="secondaryColor bold75Font floatRight" data-dojo-attach-point="startDateLabel">${startDate} </label>
正如您所看到的,我引入了一个名为data-dojo-attach-point
的属性,它允许我为标签指定名称(类似于ID)。
然后在小部件内部,您现在可以通过使用:
轻松获得对该DOM节点的引用:this.startDateLabel;
只是一些额外的信息,您还可以通过使用data-dojo-attach-event
以类似的方式定义事件。请务必阅读编写您自己的小部件文章的这一部分。
相关文章:
- 我的jQuery插件参数没有正确启动,遇到了问题
- 在我的SPA应用程序中集成Facebook共享的问题
- 我不知道我的编码有什么问题.(JavaScript)
- 为什么不'我的窗口滚动事件根本没有启动.其他答案没有解决问题
- 我的流星路线出了什么问题
- MathJax正在复制我的方程式——为什么以及如何解决这个问题
- 在将javascript附加到我的html中时遇到问题
- 表单提交问题,如何在我的URL末尾获得ID的值
- 我的CSS/Javascript下拉菜单测试代码出了什么问题
- 在我的网站上创建一个在1-10之间不断变化的数字时遇到了问题.Javascript
- 我的代码很完美,但我现在不知道为什么我发现了问题
- 跨浏览器问题:如何调试我的网站'在windows PC的safari上的行为
- Html、css和jQuery.我的代码有问题
- 在 html 上切换我的问题
- 尝试从URL下载并用node.js保存到文件中.这是我的问题
- 我如何随机显示我的问题,所以它现在总是一样的?(JavaScript)
- 困惑为什么这个javascript导致我的问题.定义了类和原型方法
- 加载ajax调用和我的问题
- Javascript找到我的问题
- 是我的问题还是Visual Studio 2010的问题