11528 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Pour ce premier post dans les forums, j'ai un gros souci, très certainement de débutant en DOM. Je cree un <div> avec createElement tout ca tout ca, mais impossible de supprimer ce meme <div> !
J'ai bien essayé ceci mais rien a faire !

function deldiv(name){
	document.getElementById('toto').removeChild(document.getElementsByTagName('div')[document.getElementsByTagName('div').length-1]);
}


Help pleazz ... ca fait des heures que je lutte ! Smiley ohwell
Voilà si tu ne comprend pas un truc fais moi savoir mais c'est assez simple :
<html>
  <head>
    <title>Remove DIV</title>
    <script type="text/javascript">
      function create(id, obj)
      {
        var target = document.getElementById(id);
        var elem = document.createElement(obj);
        var txt = document.createTextNode('Petit test');
        
        elem.appendChild(txt);
        elem.id = 'test';
        
        target.appendChild(elem);
      }
      
      function delElem(parent, child)
      {
        var obj = document.getElementById(parent);
        var old = document.getElementById(child);
        
        obj.removeChild(old);
      }        
    </script>    
  </head>
  <body onload="create('div', 'h4');">
    <div id='div'>
      <!-- -->
      <a href="javascript:delElem('div', 'test');" title="Supprimer">Supprimer</a>
    </div>
  </body>
</html>
Salut,

Quand tu as créé ton élément


new_div=document.createElement('div');


Il a bien fallu que tu l'insère dans le document par rapport à quelque chose. Un référent. Que ce soit body lui même :

var referent=document.body;

Soit un élément quelconque identifié :

var referent=document.getElementById('parent_new_div');


C'est en tant que "child" de ce référent que new_div peut facilement être supprimé.

function suprim_new_div() {
referent.removeChild(new_div);
} 
alors en fait, vous allez vous dire, quel boulet, mais je souhaiterez que cette div nouvellement créée soit supprimée au bout de 2 secondes.

J ai bien essayé d'ajouter un "<scri"+ +"pt>....</scri"+ +"pt>" dans le innerHTML ou le createTextNode mais rien a faire.

Une idée ?
Juste en passant, le <script> dans le innerHTML, ça marche pas. Il y a un sujet là-dessus ici même d'ailleurs.