2009-06-07 10 views
1

Je me demandais s'il était possible d'obtenir Javascript pour écrire du HTML sur la page dans un certain DIV.Utiliser Javascript pour ajouter du HTML?

Cela est dû au fait qu'il existe certaines zones du site où je n'ai pas accès au balisage. Mais je voudrais ajouter une petite section là-bas.

Par exemple, le conteneur que je veux ajouter un peu de html à est < div id = "sujets"> </div>

Est-il possible d'obtenir le Javascript pour le faire < * div id = "sujets"> < div id = "mysection"> </div> < */div>

Un grand merci!

Répondre

6

C'est assez simple à faire, même en utilisant JavaScript.

var topicsDiv = document.getElementById("topics"); 
topicsDiv.innerHTML = '<div id="mysection"> </div>'; 

Si vous allez être cependant faire une manipulation DOM grave (modèle objet de document, à savoir la structure HTML), alors je vous recommande de regarder dans la bibliothèque JQuery. Pourtant, si la tâche est limitée à votre question, alors JavaScript normal devrait être bien, comme indiqué ci-dessus.

+1

innerHTML a une majuscule "HTML", et n'oubliez pas d'échapper vos guillemets! –

+0

@Perspx: Ou utilisez simplement des guillemets simples. :) – Noldorin

1

Bien sûr. Par exemple, vous pouvez le faire en utilisant Prototype:

$('topics').update('<div id="mysection"></div>'); 

La syntaxe est assez similaire pour jQuery ou un autre cadre, et comme noldorin noté, vous pouvez aussi faire cela sans aucun cadre.

+0

Bump sur l'utilisation de Prototype. –

5

Avec JavaScript simple (sans JQuery ou quelque chose que vous pourriez faire):

HTML:

<div id="topics"></div> 

JS:

document.getElementById('topics').innerHTML = '<div id="mysection"></div>'; 

Utilisation JQuery vous suffit de faire:

$('#topics').append('<div id="mysection"></div>'); 
1

Vous cherchez probablement la propriété innerHTML

document.getElementById('topics').innerHTML = 'whatever'; 
+1

Juste pour être pédant, innerHTML est une propriété, pas une fonction. –

+0

J'ai pris la liberté de faire ce correctif. – Nosredna

+0

Merci d'avoir signalé –

0

Je suis d'accord avec les deux noldorin et Can Berk Güder et d'autres, et je voudrais citer que ce DOM (Document Object Model) et l'un des les principaux composants d'AJAX. AJAX envoie une requête à un serveur, et utilise des techniques comme celle-ci pour le "mettre" dans la page.

Sachez que vous pouvez faire presque n'importe quoi avec javascript; vous pouvez simplement avoir "<html> <corps> </corps </html >" et de faire javascript faire tout le reste. C'est ce que fait GWT, et si vous avez besoin de modifier FORTEMENT votre page de façon dynamique, cela peut vous intéresser.

Questions connexes