Javascript 构建JS函数以动态创建HTML元素并将它们嵌套在彼此内部

Javascript 构建JS函数以动态创建HTML元素并将它们嵌套在彼此内部,javascript,html,appendchild,Javascript,Html,Appendchild,我已经创建了下面的函数来 动态创建HTML元素并将它们附加到任何我想要的地方。控制台在运行时不会记录任何错误,但会记录第二个元素() 不写入文档 我认为这个错误与“createdDiv”变量有关,但我还不能找出哪里出了问题 任何帮助都将不胜感激 //Array of elements to be created var createdElements = [ [ 'div', 'Class0', 'ID0'], ['p', 'Class1', 'ID1'] ];

我已经创建了下面的函数来 动态创建HTML元素并将它们附加到任何我想要的地方。控制台在运行时不会记录任何错误,但会记录第二个元素(
) 不写入文档

我认为这个错误与“createdDiv”变量有关,但我还不能找出哪里出了问题

任何帮助都将不胜感激

//Array of elements to be created

var createdElements = [
    [ 'div', 'Class0', 'ID0'],
    ['p', 'Class1', 'ID1']      
];


//function to create and append elements to document

function createHTML( typeOfCreatedElement ,createdElementClass, createdElementId, locationForCreatedElement ){
    var createdElement = document.createElement( typeOfCreatedElement );
    createdElement.className = createdElementClass;
    createdElement.id = createdElementId;

    locationForCreatedElement['appendChild']( createdElement );

    return createdElement;
}


//run function 2x; 
//createdDiv successfully writes to the document, but createdParagraph disappears into a black hole...

var createdDiv = createHTML( createdElements[0][0], createdElements[0][1], createdElements[0][2], document.body );
var createdParagraph = createHTML( createdElements[1][0], createdElements[1][1], createdElements[1][2], createdDiv );

您可以尝试使用此更新createHTML方法()吗


是一个方法,而不是一个属性。

您能制定一个JSFIDLE吗?:)事实上要查看页面上的段落,您需要添加一些内容。OP似乎在代码中使用了
appendChild
方法。使用点符号而不是括号符号不会改变任何事情。我在评论中添加了一个小提琴链接到OP的帖子。他们的代码似乎有效。@Teemu好的,我已经根据您在评论中的建议添加了innerHTML属性。这一切都归功于你发现了这个。嘿!我的信用在哪里,我什么都没有;)。只是一个玩笑,回复性的调查问卷是一种瘟疫。
function createHTML( typeOfCreatedElement ,createdElementClass, createdElementId, locationForCreatedElement ){
    var createdElement = document.createElement( typeOfCreatedElement );
    createdElement.className = createdElementClass;
    createdElement.id = createdElementId;
    createdElement.innerHTML = "this is a sample text for element type " + typeOfCreatedElement;

    locationForCreatedElement.appendChild( createdElement ); //line that I have changed.

    return createdElement;
}