为什么当我在 Div 中使用 append.Child return 时我为空,但当我将它放在 body 中时却有效?
Why does append.Child return me null when I use it in a Div but works when I put it on the body?
出于某种原因,我的代码不起作用。当我试图查看控制台会 return 我时,它会在 return 给我时给出我想要的答案:"Uncaught TypeError: Cannot read property 'appendChild' of null" 当我对 Div 做同样的事情时。
这是我的代码,请帮助我...
function addOnePropertie () {
var theUl = document.createElement ("UL");
var theText = document.createTextNode ("This is a paragraph.");
theUl.appendChild (theText);
document.getElementById('theUlDiv').appendChild (TheUl);
}
<div class="divOne">
<header>
Sign Up an Object
</header>
<ul>
<span class="spanObject"> Name of Object: </span>
<input placeholder="Type any Name...">
</ul>
<hr class="inDiv">
<ul>
<span class="spanObject"> Name plus Value of Propertie One: </span>
<input class="smallInput" placeholder="Name of Propertie...">
<input class="smallInput" placeholder="Value of Propertie">
</ul>
<div id="theUlDiv">
</div>
<button class="addPropertie" onclick="addOnePropertie ();">
Add a Propertie
<i class="material-icons" style="color: blue; font-size: 15px;">
note_add
</i>
</button>
</div>
如你所见,如果我 console.log (theUl)
它 return 就是我想要的新 Ul 元素,如果我尝试将它放入 document.body.appendChild (theUl)
中也是如此,但如果我这样做在 div 它不起作用,请帮帮我 :D
调试方法是,尝试在浏览器控制台中查询元素 document.getElementById('theUlDiv')
,您会发现它 return 为 null,因为您的标记没有带有 id='theULDiv'
的元素可以使用 document.getElementsByClassName('theUlDiv')[0]
或更改您的标记以将 id
添加到元素。
编辑:
在 appendChild 方法中的这一行 .appendChild (TheUl);
中还有另一个错误,您正在传递一个未定义的变量。你的实际变量是 theUl
但你有资本 'T'
因为在你的html中没有id
是'theUlDiv'的元素。
出于某种原因,我的代码不起作用。当我试图查看控制台会 return 我时,它会在 return 给我时给出我想要的答案:"Uncaught TypeError: Cannot read property 'appendChild' of null" 当我对 Div 做同样的事情时。
这是我的代码,请帮助我...
function addOnePropertie () {
var theUl = document.createElement ("UL");
var theText = document.createTextNode ("This is a paragraph.");
theUl.appendChild (theText);
document.getElementById('theUlDiv').appendChild (TheUl);
}
<div class="divOne">
<header>
Sign Up an Object
</header>
<ul>
<span class="spanObject"> Name of Object: </span>
<input placeholder="Type any Name...">
</ul>
<hr class="inDiv">
<ul>
<span class="spanObject"> Name plus Value of Propertie One: </span>
<input class="smallInput" placeholder="Name of Propertie...">
<input class="smallInput" placeholder="Value of Propertie">
</ul>
<div id="theUlDiv">
</div>
<button class="addPropertie" onclick="addOnePropertie ();">
Add a Propertie
<i class="material-icons" style="color: blue; font-size: 15px;">
note_add
</i>
</button>
</div>
如你所见,如果我 console.log (theUl)
它 return 就是我想要的新 Ul 元素,如果我尝试将它放入 document.body.appendChild (theUl)
中也是如此,但如果我这样做在 div 它不起作用,请帮帮我 :D
调试方法是,尝试在浏览器控制台中查询元素 document.getElementById('theUlDiv')
,您会发现它 return 为 null,因为您的标记没有带有 id='theULDiv'
的元素可以使用 document.getElementsByClassName('theUlDiv')[0]
或更改您的标记以将 id
添加到元素。
编辑:
在 appendChild 方法中的这一行 .appendChild (TheUl);
中还有另一个错误,您正在传递一个未定义的变量。你的实际变量是 theUl
但你有资本 'T'
因为在你的html中没有id
是'theUlDiv'的元素。