2013-04-06 3 views

Répondre

1

Surtout avec l'élément <body>, vous ne devriez pas utiliser innerHTML pour ajouter des éléments à un élément. Un moyen plus facile est avec des méthodes DOM comme createElement, ou 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

Essayez ceci:

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); 

Bien que je pense que ce serait logique à ajouter juste au body:

document.body.appendChild(div); 

(au lieu des deux dernières lignes de mon premier exemple)

Il dépend également lorsque vous appelez ce code. Bien sûr, cela fonctionnera si elle est exécutée au milieu du <body>, mais vous voudrez probablement attendre que le corps (DOM) soit prêt pour que l'élément soit effectivement ajouté au réel fin du corps. En utilisant quelque chose comme:

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

Cela fera que les <body> originaux contenus sont prêts.

0

Ne pas ajouter des choses comme ça! Au lieu de cela, faites ceci:

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

Modifier le code de

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

Supprimer) à la fin

0

Qu'en est-:

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); 

?

Questions connexes