2009-10-21 8 views
1

Existe-t-il un moyen d'ajouter des informations à un objet DOM avec .innerHTML sans remplacer ce qui existe?comment ajouter à un objet avec innerHTML

Par exemple: document.getElementById('div').innerHTML = 'stuff';

reviendriez <div id="div">stuff</div>

Et puis un appel similaire: document.getElementById('div').innerHTML = ' and things';

fixerait la div <div id="div">stuff and things</div>

+0

Answered: http://stackoverflow.com/questions/1387433/fastest-way-to-append -html-content-to-a-div-using-javascript –

Répondre

11
document.getElementById('mydiv').innerHTML = 'stuff' 
document.getElementById('mydiv').innerHTML += 'and things' 
document.getElementById('mydiv').innerHTML += 'and even more' 
0

changement à ceci:

document.getElementById.innerHTML('div') = 
    document.getElementById.innerHTML('div') + ' and things'; 

l'ol » x = x + 1 style de concaténation.

bien que je ne pense pas que "document.getElementById.innerHTML ('div')" est même une syntaxe correcte? Ne voulez-vous pas dire "document.getElementById ('divid'). InnerHTML"?

-1

Peut-être:

document.getElementById('div').innerHTML = document.getElementById('div').innerHTML + ' and things' 
1

Il y a des erreurs dans vos exemples. Mais vous pouvez simplement faire ceci:

var myDiv = document.getElementById('div'); 

myDiv.innerHTML = myDiv.innerHTML + ' and things'; 
+0

+1 pour identifier qu'il y avait des erreurs dans la source OP. – scunliffe

3

pourquoi ne pas essayer

document.getElementById('div').innerHTML += ' and things'; 

Notez le "+"

+0

Cela va supprimer tous les événements attachés aux éléments existants à l'intérieur de la div – iexx

4

Vous pouvez utiliser Element.insertAdjacentHTML().

insertAdjacentHTML() parse le texte spécifié comme HTML ou XML et insère les nœuds résultants dans l'arborescence DOM à une position spécifiée. Il ne répare pas l'élément sur lequel il est utilisé et donc il ne corrompt pas les éléments existants à l'intérieur de l'élément. Ceci, et en évitant l'étape supplémentaire de la sérialisation, le rend beaucoup plus rapide que la manipulation directe de innerHTML.

Si vous voulez ajouter votre stuff à la fin de cette Element, vous feriez

const div = document.getElementById("div"); 
div.insertAdjacentHTML('beforeend', 'stuff');; 
+0

C'est génial! Merci beaucoup. – iexx

Questions connexes