试图使用js追加元素?

时间:2009-07-22 21:26:11

标签: javascript dom innerhtml

我想在页面上的所有<object>添加一段html。我知道我可以按标签名称访问元素,并且我可以更改元素,但我可以简单地附加到它吗?

另外,我想将它添加到每个标记的内容中,而不是文档的末尾。以下哪种方法有效?

2 个答案:

答案 0 :(得分:5)

假设没有图书馆......

var elementToAppend = document.createElement(tagName); // Your tag name here

// Set attributes and properties on elementToAppend here with
// elementToAppend.attribute = value (eg elementToAppend.id = "some_id")
// You can then append child text and elements with DOM methods
// (createElement or createTextNode with appendChild)
// or with innerHTML (elementToAppend.innerHTML = "some html string")

var objects = document.getElementsByTagName('object');
for(var i = 0; i < objects.length; i++) {
    elementToAppend = elementToAppend.cloneNode(true);
    objects[i].appendChild(elementToAppend);
}

使用innerHTMLouterHTML作为建议的其他答案可能会导致您使用<object>嵌入的任何内容出现问题。

答案 1 :(得分:0)

appendChild正是您要找的。