所以......我想在文档的正文之前添加以下内容,我似乎无法找到使其工作的方法:
document.body.innerHTML+="<div style=\"position:absolute; right:-10px; bottom:10px;\">response</div>\"");
答案 0 :(得分:1)
<body>
元素的 特别,您不应该使用innerHTML
将元素附加到元素。使用createElement
,insertBefore
或appendChild
等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);