0

所以......我想在文档的 /body 之前添加以下内容,我似乎找不到让它工作的方法:

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

4 回答 4

1

特别是对于<body>元素,您不应该使用innerHTML将元素附加到元素。更简单的方法是使用 DOM 方法,例如createElement,insertBeforeappendChild.

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>在. 通过使用类似的东西:

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

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

于 2013-04-06T02:52:55.657 回答
0

不要添加这样的东西!相反,请执行以下操作:

var newDiv = document.createElement('div')
newDiv.style.position = 'absolute'
newDiv.id = 'myDiv'
newDiv.innerHTML = 'hello'
//etc.
document.body.appendChild(newDiv)
于 2013-04-06T02:52:08.057 回答
0

将代码更改为

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

最后去掉)

于 2013-04-06T02:52:26.323 回答
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);

?

于 2013-04-06T02:53:06.067 回答