我在遍历文本节点以创建中断时遇到问题。
var i;
var args = ['Once upon a time', 'there were three bears',
'and a little girl named goldilocks.'];
for (i = 0; i < args.length; i++) {
var legendText2 = document.createTextNode(args[i]);
var legendTextEl2 = document.createElement('p');
legendTextEl2.setAttribute('class', 'legendPara');
legendTextEl2.appendChild(legendText2);
legendTextEl2.appendChild(document.createElement('br'));
}
出于某种原因,该代码仅返回数组中的最后一项,后跟一个“br”,而不是返回每个元素之间有一个“br”。我不确定我在哪里弄乱了逻辑。有什么想法吗?
最佳答案
那是因为您一直在重新创建 legendTextEl2
但只有最后一个存在。尝试在 for 循环的末尾添加这一行:
document.body.appendChild(legendTextEl2)
var i;
var out = document.getElementsByClassName('legendPara');
var args = ['Once upon a time', 'there were three bears',
'and a little girl named goldilocks.'
];
for (i = 0; i < args.length; i++) {
var legendText2 = document.createTextNode(args[i]);
var legendTextEl2 = document.createElement('p');
legendTextEl2.setAttribute('class', 'legendPara');
legendTextEl2.appendChild(legendText2);
legendTextEl2.appendChild(document.createElement('br'));
document.body.appendChild(legendTextEl2); <-- added missing semi-colon
}
关于javascript - 遍历文本节点以创建中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43195473/