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()来appendChild相应地将新段落文本放在标题中,但它不起作用。我得到要显示的标题,但不是段落。
请帮忙! 谢谢!
答案 0 :(得分:2)
如果未定义,您使用的是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);
}