2017-07-13 21 views
-1

タイトルとhr要素をポップアップに追加しようとしましたが、 ですが、これを追加するとポップアップが本体に追加されなくなりました。 何が間違っていますか?しかし、タイトルと時間をポップアップに追加しないと、彼は完全に表示されます。Js appendChild not working

// selecteer alle elementen met de class "editHose" 
var edits = document.getElementsByClassName('editHose'); 

// voeg eventlistener toe aan elke knop om het edit kadertje te laten verschijnen 
for(i=0; i<edits.length; i++) 
{ 

    // eventListener toevoegen aan elke knop 
    edits[i].addEventListener("click", function(e) { 

     e.preventDefault(); 

      // maak overlay aan 
      var overlay = document.createElement('div'); 
      overlay.setAttribute('id', 'overlay'); 

       // append overlay to body 
       document.getElementsByTagName('body')[0].appendChild(overlay); 

      // maak de popup div aan 
      var popup = document.createElement('div'); 
      popup.setAttribute('id', 'popup'); 
      popup.setAttribute('class', 'form-signin') 

      // maak title en regenboogbalkje onder titel aan 
      var title = document.createElement('h3'); 
      title.setAttribute('class', 'form-signin-heading'); 
      var line = document.createElement('hr'); 
      line.setAttribute('class', 'colorgraph'); 

       // append title en line to popup 
       popup.appendChild('title'); 
       popup.appendChild('line'); 

       // append popup to body 
       document.getElementsByTagName('body')[0].appendChild(popup); 

    }); 

} 

ありがとうございました!

+1

する必要があります ' document.body'? – Cerbrus

+0

私はJsでかなり新しいので、ヒントのおかげで。 – Keutelvocht

答えて

2

私は問題が何であるかが分かった:

  popup.appendChild('title'); 
      popup.appendChild('line'); 

は、代わりに `document.getElementsByTagName( '体')[0]`は、なぜあなたが使用していないの

  popup.appendChild(title); 
      popup.appendChild(line);