[英]How to append text to div using ID in javascript?
在这里,我使用函数将值打印到id="mylist"
div 中。我正在使用循环并使用该值调用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);
}
而且我还想为打印值添加延迟。
var writecity = document.createTextNode(city);
document.getElementById("mylist").appendChild(writecity);
这应该有效。
基本上,您只需将其他 DOM 节点(作为子节点)附加到 DOM 节点。 因此您使用document.createTextNode()
创建节点并使用document.appendChild()
将其作为子节点添加到现有节点。
问题是document.write
什么都不返回,也不推荐使用它。 其次 dom 没有函数append
,而是appendChild
。
尝试document.createTextNode
和appendChild
:
function coucity() { for (var i = 0; i < 10; i++) { printList(i); } } function printList(i) { document.getElementById("mylist").appendChild(document.createTextNode(i)); }
<body onload="coucity();"> <div id="mylist"></div> </body>
您也可以尝试innerHTML
:
function coucity() { for (var i = 0; i < 10; i++) { printList(i); } } function printList(i) { document.getElementById("mylist").innerHTML += i; }
<body onload="coucity();"> <div id="mylist"></div> </body>
您的代码有一些问题,所有这些都可以通过检查 JavaScript 控制台轻松找到。
coucity
(但评论显示它是从其他地方调用的,所以这应该不是问题)document.write
应该是document.createTextNode
getElementById("myDIV")
找不到 ID 为mylist
的 divappend
应该是appendChild
我不能帮你的最后一个,但与纠正其他错误,这里是结果。
function coucity(){
for (var i = 0; i < 10; i++) {
printList(i);
}
}
function printList(city){
var writecity = document.createTextNode(city);
document.getElementById("mylist").appendChild(writecity);
}
coucity();
要添加延迟,有几种方法可用。 哪个最好取决于您的需求。 在这个简单的例子中,你甚至可以写
function coucity(){
for (var i = 0; i < 10; i++) {
setTimeout(printList, i*1000, i);
}
}
请参阅更新的小提琴。
将文本节点附加到div
的示例, 由 id 引用,并具有延迟。
function appendDelayedTextNode(element, text, delayMs) { setTimeout(function () { element.appendChild(document.createTextNode(text)); }, delayMs); } var mylist = document.getElementById('mylist'); appendDelayedTextNode(mylist, 'one', 1000); appendDelayedTextNode(mylist, 'two', 2000); appendDelayedTextNode(mylist, 'three', 3000);
<div id="mylist"></div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.