如何使用javascript向页面添加div?

时间:2013-04-06 02:49:34

标签: javascript innerhtml

所以......我想在文档的正文之前添加以下内容,我似乎无法找到使其工作的方法:

document.body.innerHTML+="<div style=\"position:absolute; right:-10px; bottom:10px;\">response</div>\"");

4 个答案:

答案 0 :(得分:1)

使用<body>元素的

特别,您不应该使用innerHTML将元素附加到元素。使用createElementinsertBeforeappendChild等DOM方法更简单。

https://developer.mozilla.org/en-US/docs/DOM/document.createElement

https://developer.mozilla.org/en-US/docs/DOM/Node.insertBefore

https://developer.mozilla.org/en-US/docs/DOM/Node.appendChild

试试这个:

var div = document.createElement("div");
div.style.position = "absolute";
div.style.right = "-10px";
div.style.bottom = "10px";
div.innerHTML = "response";
var lastChild = document.body.lastChild;
document.body.insertBefore(div, lastChild.nextSibling);

虽然我想将它附加到body

是有意义的
document.body.appendChild(div);

(而不是我第一个例子中的最后两行)

这还取决于您何时调用此代码。当然,如果在<body>的中间执行它会起作用,但你可能要等到body(DOM)准备就绪,这样才能在 real 结尾附加元素的身体。通过使用类似的东西:

window.onload = function () {
    // Your code from above
};

这将确保原始<body>内容准备就绪。

答案 1 :(得分:0)

不要添加这样的东西!相反,这样做:

var newDiv = document.createElement('div')
newDiv.style.position = 'absolute'
newDiv.id = 'myDiv'
newDiv.innerHTML = 'hello'
//etc.
document.body.appendChild(newDiv)

答案 2 :(得分:0)

将代码更改为

document.body.innerHTML="<div style=\"position:absolute; right:-10px; bottom:10px;\">response</div>\"";

删除)

答案 3 :(得分:0)

怎么样:

var div = document.createElement("div");

// it's better use a CSS here instead
div.style.position = "absolute";
div.style.right = "-10px";
div.style.bottom = "10px";

div.innerHTML = "response";

document.body.appendChild(div);