Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建<;p>;Dojo中现有div中的元素_Javascript_Dojo - Fatal编程技术网

Javascript 创建<;p>;Dojo中现有div中的元素

Javascript 创建<;p>;Dojo中现有div中的元素,javascript,dojo,Javascript,Dojo,我的HTML文档中已经存在一个元素。 我想使用Dojo动态添加元素 我对domConstruct create、place和toDom方法感到困惑。我不想创建更多的div,我只想在现有div中放置一个段落元素 我该怎么做呢 目前我有这个功能,但我假设它不起作用,因为create方法用于创建div,而不是其他类型的元素: var errorPopup = dom.byId('error-dialog'); for (var i = 0; i < errorMessages.length; i

我的HTML文档中已经存在一个
元素。 我想使用Dojo动态添加
元素

我对domConstruct create、place和toDom方法感到困惑。我不想创建更多的div,我只想在现有div中放置一个段落元素

我该怎么做呢

目前我有这个功能,但我假设它不起作用,因为create方法用于创建div,而不是其他类型的元素:

var errorPopup = dom.byId('error-dialog');
for (var i = 0; i < errorMessages.length; i++) {
                      var eMessage = domConstruct.create("<p>'"+errorMessages[i]+"'</p>");
                      errorPopup.appendChild(eMessage);
                  }
var errorPopup=dom.byId('error-dialog');
对于(var i=0;i”);
errorPopup.appendChild(e消息);
}

我仍然不能完全确定为什么create方法不起作用(除非我最初的直觉是正确的),但我让它与place方法一起工作

for (var i = 0; i < errorMessages.length; i++) {
                      var eMessage = domConstruct.place("<p>'"+errorMessages[i]+"'</p>", "error-dialog");
                  }
for(变量i=0;i”,“error dialog”);
}

您可以直接使用
dojo/domConstruct

它有三个参数
domConstruct.create(arg1、arg2、arg3)

  • arg1:要创建的Dom元素
  • arg2:json参数对象(创建的元素的属性,也是innerHTML、id、类…)
  • arg3:应该放置所创建元素的domNode或id
  • require([“dojo/dom构造”、“dojo/dom”、“dojo/ready”]、函数(domConstruct、dom、ready){
    就绪(函数(){
    对于(i=0;i<5;i++){
    var elment=domConstruct.create('p'{
    'id':'tooltipExample'+i,
    “innerHTML”:“错误号”+i
    }, 
    “错误对话框”);
    }
    });
    });
    
    
    dojoConfig={
    是的,
    async:true,
    parseOnLoad:true
    }
    
    虽然问题已经回答,但为了推广不使用for循环的解决方案,我将在这里发布:

    const错误=[
    “错误1”,
    “错误2”,
    “错误3”
    ]
    require(['dojo/dom构造'],函数(dc){
    函数换行(错误){
    返回“”+错误+”

    ' //return`${error}

    也可以使用 } 活动场所(el){ dc.位置(el,“错误”) } 错误 .map(换行) .forEach(地点) })