2011-09-05 5 views
0

Comment supprimer et ajouter une div en temps réel? et j'ai déjà le div fait manuellement sur la page afin qu'il soit là pour être supprimé même la première fois que la fonction est exécutée. Le div est appelé 'testElem'Comment ajouter et supprimer dynamiquement une balise Div avec javascript

Je suis en train:

  var remDiv = document.getElementById('testElem'); 
      document.body.removeChild(remDiv); 

      var divTag = document.createElement("div"); 
      divTag.id = "testElem"; 
      document.body.appendChild(divTag); 

mais le script ne fonctionne pas. J'ai essayé de placer une "alerte" pour tester après le premier remDiv. Mais ce n'est même pas le faire passé là-bas. Le code se brise. En chrome j'ai essayé d'aller aux outils> console Javascript, mais il n'y a pas d'erreurs. Existe-t-il un meilleur moyen de déboguer javascript pour que je puisse voir quelle est l'erreur? J'essaye juste de faire ceci ainsi il supprimera le contenu qui est dans le div chaque fois que la fonction est exécutée ainsi le contenu ne double pas. C'est différent à chaque fois.

Répondre

7

utilisant jQuery:

$('#testElem').remove(); 
$('body').append($('<div id="testElem"></div>')); 
1

Une autre solution consiste à faire une liste de toutes les années div dont vous avez besoin puis alterner la propriété style appelé visibilité

La solution est comme ce qui suit:

----- HTML ------

<div id="div1" style="visibility:hidden;" > 
<div id="div2" style="visibility:hidden;" > 
<div id="div3" style="visibility:hidden;" > 
..... 

----- -------- JS

//to Hide 
var x=document.getElementById("divToHide"); 
x.style.visibility="visible"; 
//to show 
ar x=document.getElementById("divToShow"); 
x.style.visibility="hidden"; 

Cette solution vous donne également un meilleur contrôle où la div sera placé

+3

'display' est plus souvent utile que' 'visibility' parce que la mise à display'' none' va supprimer l'élément du flux, plutôt que tout simplement pas le rendre. – icktoofay

0

removeChild nécessité de être appelé du parent de la div que vous voulez supprimer.

de sorte que vous voudriez ce code:

var remDiv = document.getElementById('testElem'); 
var parent = remDiv.parentNode; 
parent.removeChild(remDiv); 

var divTag = document.createElement("div"); 
divTag.id = "testElem"; 
parent.appendChild(divTag); 
Questions connexes