为什么会出现此错误,以及如何改进此功能

时间:2017-11-30 04:34:29

标签: javascript

function addElement(tag, content, location){
    var getTag = document.createElement(tag);
    var getContent = document.createTextNode(content);
    var getLocation = document.getElementsByClassName(location);
    getTag.appendChild(getContent);
    document.getElementsByClassName(location).appendChild(getTag);
}
addElement("p","Hello World","div");

我收到此错误:

  

TypeError:document.getElementsByClassName(...).appendChild不是函数。

3 个答案:

答案 0 :(得分:3)

document.getElementsByClassName返回一个没有appendChild方法的类数组对象。

document.getElementsByClassName(location)[0].appendChild(getTag);

getLocation[0].appendChild(getTag); 

答案 1 :(得分:1)

document.getElementsByClassName()返回一个HTMLCollection。如果你想只在一个地方附上,你可以这样做;

DataGrid

或者如果你想将它附加到多个地方(所有具有'location'类的地方),你可以在循环中进行。

document.getElementsByClassName(location)[0].appendChild(getTag);

答案 2 :(得分:-1)

您需要更改此行 document.getElementsByClassName(location).appendChild(getTag);

document.getElementsByClassName(location)[0].appendChild(getTag);

归功于nikhil的类似答案