2010-06-09 4 views
1

Je tente de créer un bouton HTML en utilisant JavaScript (apparemment simple), mais pour une raison quelconque, l'objet n'est pas placé sur la page. Dois-je l'ajouter au DOM ou en créer une instance?Ajout d'un objet HTML à DOM en utilisant JavaScript. Affichage vide

Voici mon code:

function loadNavigation() { 
var backButton; 
backButton = document.createElement('input'); 
backButton.ID = 'backButton'; 
backButton.type = 'button'; 
backButton.innerHTML = 'Back'; 
backButton.onclick = 'function navigate(-1)'; 

}

+0

backButton.value = 'Retour'; –

+0

Oups, merci d'avoir signalé cela. Actualisé. –

+0

D'une façon ou d'une autre, vous avez toujours 'innerHTML = 'Back';' ... –

Répondre

3

Vous devrez utiliser la méthode appendChild pour ajouter le bouton créé pour déjà exisiting DOM

1

Oui. Ce n'est pas parce que vous avez créé un élément que vous l'avez placé sur la page. Le navigateur n'a aucune idée de l'endroit où vous aimeriez le mettre - au début du corps? Au milieu d'un div que vous avez défini?

Vous pouvez utiliser quelque chose comme:

document.body.insertBefore(backButton, null); 

Si vous avez déjà un élément (peut-être avec document.getElementById()) vous pouvez insérer votre nouveau bouton avec:

yourElement.appendChild(backButton); 
+0

La méthode insertBefore prend un deuxième paramètre – Koen

+0

Bonne capture. Edité pour réparer. – VoteyDisciple

0

Vous devez ajouter le bouton sur le DOM. La méthode createElement crée uniquement l'objet mais ne l'ajoute pas au DOM. Vous pouvez utiliser les méthodes appendChild ou insertBefore sur l'élément parent.

Questions connexes