如何在javascript中使用ID向div追加文本?

如何在javascript中使用ID向div追加文本?,javascript,html,Javascript,Html,在这里,我使用函数将值打印到div,并使用id=“mylist”。我使用循环并使用值调用printList()函数,我在printList()中打印值,但它不起作用。我如何才能做到这一点 <div id="mylist"></div> Javascript: function coucity(){ for (var i = 0; i < 10; i++) { printList(i); } } function printLis

在这里,我使用函数将值打印到div,并使用
id=“mylist”
。我使用循环并使用值调用
printList()
函数,我在
printList()
中打印值,但它不起作用。我如何才能做到这一点

<div id="mylist"></div>

Javascript:

 function coucity(){
   for (var i = 0; i < 10; i++) {
     printList(i);
    }
 }

 function printList(city){
  var writecity = document.write(city);
  document.getElementById("mylist").append(writecity);
 }
函数coucity(){
对于(变量i=0;i<10;i++){
印刷品清单(一);
}
}
功能打印列表(城市){
var writecity=document.write(城市);
document.getElementById(“mylist”).append(writecity);
}

我还想增加打印值的延迟。

问题是
文档。write
不返回任何内容,也不建议使用它。其次,dom没有函数
append
,而是
appendChild

尝试
document.createTextNode
appendChild

函数coucity(){
对于(变量i=0;i<10;i++){
印刷品清单(一);
}
}
函数打印列表(一){
document.getElementById(“mylist”).appendChild(document.createTextNode(i));
}

这应该行得通


基本上,您只将其他DOM节点(作为子节点)附加到DOM节点。因此,您可以使用
document.createTextNode()
来创建节点,并使用
document.appendChild()
将其作为子节点添加到现有节点。

您的代码存在一些错误,通过检查JavaScript控制台可以轻松发现所有这些错误

  • 你不会在任何地方调用
    coucity
    (但是注释显示它是从其他地方调用的,所以这应该不是问题)
  • document.write
    应该是
    document.createTextNode
  • getElementById(“myDIV”)
    找不到id为
    mylist
  • append
    应该是
    appendChild
  • 最后,如果您纠正了所有这些错误,它只输出数字0到9,而不是城市
  • 最后一个错误我帮不了你,但其他错误都纠正了,这就是结果

    函数coucity(){
    对于(变量i=0;i<10;i++){
    印刷品清单(一);
    }
    }
    功能打印列表(城市){
    var writecity=document.createTextNode(城市);
    document.getElementById(“mylist”).appendChild(writecity);
    }
    coucity();
    
    要增加延迟,有几种方法可用。哪一个最好取决于你的需要。在这个简单的例子中,您甚至可以编写

    function coucity(){
       for (var i = 0; i < 10; i++) {
         setTimeout(printList, i*1000, i);
        }
    }
    
    函数coucity(){
    对于(变量i=0;i<10;i++){
    设置超时(打印列表,i*1000,i);
    }
    }
    
    请参阅。

    a to a
    div的示例,其中包含a

    函数AddedDelayedTextNode(元素、文本、delayMs){
    setTimeout(函数(){
    元素.appendChild(document.createTextNode(text));
    },毫秒);
    }
    var mylist=document.getElementById('mylist');
    appendDelayedTextNode(mylist,'one',1000);
    appendDelayedTextNode(mylist'two',2000);
    appendDelayedTextNode(mylist,'three',3000)
    
    您在哪里调用了
    coucity()
    ?我正在用body load调用coucity()。另外,在您的行
    document.getElementById(“myDIV”).append(writecity)您应该具有与div id相同的名称(在您的示例中,它是“mylist”,但在您的代码中它是“myDIV”。确保它们匹配
    
    function coucity(){
       for (var i = 0; i < 10; i++) {
         setTimeout(printList, i*1000, i);
        }
    }