为什么append.Child在Div中使用它时返回null,但是当我把它放在身体上时它会起作用?

时间:2017-10-24 08:07:47

标签: javascript html css3 append appendchild

由于某些原因我的代码不起作用。当我试着看看控制台会给我什么回复时,它会给我一个回答我想要的答案:“Uncaught TypeError:无法读取属性'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)它会返回我想要的新UI元素,如果我尝试将它放在document.body.appendChild (theUl)中,那就相同,但如果我在div中执行它不会工作,请帮帮我:D

2 个答案:

答案 0 :(得分:0)

调试此方法的方法是,尝试在浏览器控制台中查询元素document.getElementById('theUlDiv'),然后您会发现它将返回null,因为您的标记没有{{1}的元素使用id='theULDiv'或更改标记以将document.getElementsByClassName('theUlDiv')[0]添加到元素。 修改 在传递未定义变量的appendChild方法中,此行id中存在另一个错误。您的实际变量为.appendChild (TheUl);但您有资本'T'

答案 1 :(得分:0)

因为你的html中没有id是'theUlDiv'的元素。