2016-08-09 61 views
1

Ich beabsichtige, ein neues Div Element über Javascript zu erstellen, aber ich habe Probleme meinen Code derwarum zeigt die insert Fehler

<div id="container"> 
 
    <div id="content"></div> 
 
    </div> 
 
    <script> 
 
    var container = document.getElementById('container'); 
 

 
    function divCreate() { 
 

 
     var newDiv = document.createElement('div'); 
 
     var newContent = document.createTextNode('Hello this is 
 
      
 
     div via javascript!'); 
 
                   
 
     newDiv.appendChild(newContent); 
 

 
     var currentDiv = document.getElementById('content'); 
 

 
     document.body.container.insertBefore(newDiv, currentDiv); 
 
    } 
 
        
 
    divCreate(); 
 
    </script>

meine eigentliche Absicht einfügen DOM anhängt war das neue div vor dem Inhalt im Container. Ich verstehe das DOM auch als einen Baum von Objekten und Hierarchie. Ich dachte, dass ich über diese Hierarchie durch den Baum navigieren könnte. das ist von Dokument ---> Körper -----> Container.

Es hat auf dem Container funktioniert, aber nicht die Inhalte Div. Kann mir bitte jemand sagen, was ich hier vermisse?

Ich habe versucht, die NewDiv an das DOM vor dem Inhalt anhängen, aber ich konnte nicht. Ich konnte es an den Container DIV anhängen, der ein Elternteil des Inhalts Div ist. Mein Hauptanliegen ist, warum ich es nicht vor dem Inhalt mit der Einfüge vor Methode anhängen kann.

+0

Update Ihre Frage mit voller HTML-Code –

+0

können Sie die Formatierung des Codes beheben? Du scheinst Zeilenumbrüche in der Mitte von Codezeilen hinzugefügt zu haben und vermisst '' 's. –

+1

Sie brauchen den 'document.body' Teil nicht. Sie können direkt auf den Container zugreifen. – 4castle

Antwort

0

Ich dachte, ich könnte den Baum über diese Hierarchie navigieren. das ist von Dokument ---> Körper -----> Container.

Sie können nicht.

Verwenden Sie document.getElementById(), um ein Element anhand seiner ID abzurufen.

0

versuchen, diese

<div id="container"> 
    <div id="content"> 
    </div> 
    </div> 
    <script> 
    var container = document.getElementById('container'); 
    function divCreate() { 
    var newDiv = document.createElement('div'); 
    var newContent = document.createTextNode('Hello ....'); 
    newDiv.appendChild(newContent); 
    var currentDiv = document.getElementById('content');  
    document.body.container.insertBefore(newDiv,currentDiv} 
    divCreate();  
    </script> 
0

<div id="container"> 
 
    <div id="content"> 
 
    </div> </div> 
 
    <script> 
 
    var container = document.getElementById('container'); 
 

 
    function divCreate() { 
 

 
     var newDiv = document.createElement('div'); 
 
     var newContent = document.createTextNode('Hello this is a div is added via javascript'); 
 
                   
 
     newDiv.appendChild(newContent); 
 

 
     var currentDiv = document.getElementById('content'); 
 

 
     container.insertBefore(newDiv, currentDiv); 
 
    } 
 
        
 
    divCreate(); 
 
    </script>