用于创建标题并将文本放入其下方段落的循环

Loop for creating headers and placing text into paragraphs below them

本文关键字:方段落 循环 标题 创建 文本 用于      更新时间:2023-09-26
function newHeader (header) {
var head = document.createElement('h'+ header);
var hText = document.createTextNode('text for h'+ header);
head.appendChild(hText);
document.body.appendChild(head);
}
function newPara (para) {
var newP = document.createElement('p');
var newPText = document.createTextNode("text for p" + para);
newP.appendChild(newPText);
var intoH = document.getElementByTagName('h' + header);
intoH.item(0).appendChild(newP);
}
 for (i = 1; i <= 6; i++) {
newHeader(i);
 }
 for (i = 1; i <= 6; i++) {
 newPara(i);
 }

我做错了什么?我想动态创建标题并将带有文本的段落放在其中。我试图使用 item(( 来附加 Child 以相应地将新的段落文本放置在标题中,但它不起作用。我得到标题显示,但不是段落。

请帮忙!谢谢!

你在

未定义时正在使用header变量(你应该用 para 替换它(,你也错过了s getElementByTagName应该getElementsByTagName,这将返回一个元素数组,以便您可以使用 [0] 而不是 item(0) 指定第一个:

document.getElementsByTagName('h' + para)[0];

希望这有帮助。


function newHeader (header) {
  var head = document.createElement('h'+ header);
  var hText = document.createTextNode('text for h'+ header);
  head.appendChild(hText);
  document.body.appendChild(head);
}
function newPara (para) {
  var newP = document.createElement('p');
  var newPText = document.createTextNode("text for p" + para);
  newP.appendChild(newPText);
  var intoH = document.getElementsByTagName('h' + para)[0];
  intoH.appendChild(newP);
}
for (i = 1; i <= 6; i++) {
  newHeader(i);
}
for (i = 1; i <= 6; i++) {
  newPara(i);
}