所以......我想在文档的 /body 之前添加以下内容,我似乎找不到让它工作的方法:
document.body.innerHTML+="<div style=\"position:absolute; right:-10px; bottom:10px;\">response</div>\"");
所以......我想在文档的 /body 之前添加以下内容,我似乎找不到让它工作的方法:
document.body.innerHTML+="<div style=\"position:absolute; right:-10px; bottom:10px;\">response</div>\"");
特别是对于<body>
元素,您不应该使用innerHTML
将元素附加到元素。更简单的方法是使用 DOM 方法,例如createElement
,insertBefore
或appendChild
.
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>
内容已准备就绪。
不要添加这样的东西!相反,请执行以下操作:
var newDiv = document.createElement('div')
newDiv.style.position = 'absolute'
newDiv.id = 'myDiv'
newDiv.innerHTML = 'hello'
//etc.
document.body.appendChild(newDiv)
将代码更改为
document.body.innerHTML="<div style=\"position:absolute; right:-10px; bottom:10px;\">response</div>\"";
最后去掉)
关于什么:
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);
?