javascript - 使用 dojo 修改 div 的文本

标签 javascript html dojo

我有一个 dojo 小部件。对于小部件,我有 2 个文件 A.js 和 A.html。现在在 A.html 里面我有类似的东西

<div id ="xyz" dojoAttachpoint="xyz"> </div>  

上面一行是小部件模板中的一行,它是一个普通的 html div

现在在 A.js 中,我对服务器进行异步调用。在远程方法的回调函数中,我想修改 span xyz 的文本。我尝试了以下 3 种方法,但都没有用。

1) dojo.byId("xyz").innerHTML = "some text"
2) this.xyz.innerHTML ="一些文本"

3)

 var myWidget = dijit.byId("pack1.abc.widget.widgetname_id");
            myWidget.xyz.innerHTML ="some text"

以上方法均无效。

当我在 A.js 的其他函数(非回调函数)中使用方法 1 时,它工作正常。

最佳答案

您不能在模板中硬编码小部件的 ID。 id 必须唯一地标识一个 widget-type 的实例,所以它必须在创建时给出。

例如,您可以在 js 中进行编程:

var myA = new myWidgets.A({});
myA.startup();
myA.xyz.innerHTML = "some text"

或在 html 中声明:

<div data-dojo-type="myWidgets.A" data-dojo-props="id:'myA'"></div>

和 js:

dijit.byId("myA").xyz.innerHTML = "some text";

关于javascript - 使用 dojo 修改 div 的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4499221/

相关文章:

javascript - jQuery Validate 不会一次显示所有错误消息,一次只显示一条

javascript - 类型错误 : Cannot read property '0' of undefined for an array already defined in google scripts

html - 如何在网站上放置背景图片

javascript - 自定义全宽 Slick-Slider

css - TextBox Widget 和 android 主题中的 dojox 移动问题

javascript - 如何始终在顶部显示html表格

javascript - Firefox 和 Jquery/Javascript 表单提交

javascript - 为什么 jest 正在寻找一个不再存在的测试文件?

javascript - 当我左键单击 Dojo 中的树行(树节点)时,如何从 Objectstore 获取 ID?

javascript - 为 Dojo TabContainer 提供一个 ID