2009-11-17 21 views
11

come posso inserire del codice HTML tra <div id="mydiv">...</div> utilizzando javascript?inserisci/rimuovi contenuto HTML tra tag div

Es: <div id="mydiv"><span class="prego">Something</span></div> le sue circa 10 linee di html di più. grazie

+1

Si sta sostituendo il codice HTML nel div, o l'inserimento di più nel div? – Zoidberg

risposta

25

Se si sta sostituendo il contenuto del div e hanno il codice HTML come una stringa è possibile utilizzare il seguente:

document.getElementById('mydiv').innerHTML = '<span class="prego">Something</span>'; 
3
// Build it using this variable 
var content = "<span class='prego'>....content....</span>"; 
// Insert using this: 
document.getElementById('mydiv').innerHTML = content; 
2
document.getElementById("mydiv").innerHTML = "<span class='prego'>Something</span>"; 

dovrebbe farlo. Se sei disposto ad usare jQuery, potrebbe essere più facile.

2

document.getElementById ('mydiv'). InnerHTML = 'qualunque';

2

Questa è una specie di richiesta ambigua. Ci sono molti modi in cui questo può essere realizzato.

document.getElementById('mydiv').innerHTML = '<span class="prego">Something</span>'; 

che è il più semplice . O;

var spn = document.createElement('span'); 
spn.innerHTML = 'Something'; 
spn.className = 'prego'; 
document.getElementById('mydiv').appendChild(spn); 

preferito per entrambi questi metodi potrebbe essere quella di utilizzare una libreria JavaScript che crea i metodi di scelta rapida per le cose semplici come questo, come MooTools. (http://mootools.net)

Con MooTools questo compito sarà simile:

new Element('span', {'html': 'Something','class':'prego'}).inject($('mydiv')); 
+0

In questo caso l'utilizzo di mootools non è molto più di una scorciatoia. Salva solo sei caratteri e devi capire un nuovo framework. Mootools potrebbe essere appropriato per funzionalità più complesse, specialmente dove la soluzione differisce per browser. –

12

Un modo semplice per fare questo con la vaniglia JavaScript sarebbe quella di utilizzare appendChild.

var mydiv = document.getElementById("mydiv"); 
var mycontent = document.createElement("p"); 
mycontent.appendChild(document.createTextNode("This is a paragraph")); 
mydiv.appendChild(mycontent); 

Oppure è possibile utilizzare innerHTML come altri hanno detto.

Oppure, se si desidera utilizzare jQuery, l'esempio precedente potrebbe essere scritto come:

$("#mydiv").append("<p>This is a paragraph</p>");