我是 Dojo 的新手,似乎找不到合适的文档或示例来说明如何完成我想要完成的工作。我正在创建一个决策树样式文档,该文档可以动态地将新选项添加到现有元素。该代码应在特定 DIV 的末尾添加一个新节点。为此,它必须找到名为 branchID 的元素的 value 属性。然后它将值加一并将新的 HTML 添加到页面中。在 jQuery 中,我会使用这个
$('#btnAddFork').click( function(){
var branchID = $('#branchID').attr( 'value' );
var newNodeHTML = "<div class='node'>new node #" + (++n) + "</div>';
$('div#NodeDIV').append( newForkHTML );
});
此代码适用于我在需求更改迫使我使用不同的框架之前创建的概念证明。我正在 Dojo 中尝试以下操作
require(["dojo/dom-construct", "dojo/dom", "dojo/dom-attr", "dojo/on", "dojo/domReady!"],
function(domConstruct, dom, on){
on(dom.byId("btnAddFork"), "click", function(){
var n = domAttr.get("branchID", "value");
domConstruct.place("<div class='node'>new node #" + (++n) + "</div>", "NodeDIV");
});
});
Dojo 代码在我尝试为 n 赋值的那一行中消失了。错误消息是“TypeError:对象不是函数”。错误消息没有指出我找到解决方案的正确方向。我确信这是我试图使用 domAttr.get 函数来获取值的方式,但我似乎无法找到使这项工作按我期望的方式工作的方法。Dojo 如何处理这样的事情?如果有人可以指出有关如何/为什么需要按照它的方式编写解决方案的文档,那将非常有帮助。