2017-03-14 4 views
-3

Ich versuche, ein modales Formular dynamisch zu erstellen, aber wenn ich nach meinem Modal suche, dann erzeuge ein neues Kind, es erlaubt mir nicht, sie anzuhängen. Das Modal wird durch die Klasse festgelegt, sollte es stattdessen eine ID sein? Bitte nicht auf w3schools verweisen; Ich benutze das und es ist nicht hilfreich.Anfügen eines untergeordneten Elements an ein vorhandenes Element

var a=document.getElementsByClassName('modal'); 
undefined 
var b = document.createElement("p"); 
undefined 
b.appendChild(a); 

Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'. 
    at <anonymous>:1:3 

Antwort

3

a wird eine Sammlung von Knoten sein (Sie in der Regel mit ihnen zugreifen können [n], da sie Array-like). Du wirst den ersten nehmen wollen. Versuchen Sie, diese an Ort und Stelle von dem, was Sie haben:

var a=document.getElementsByClassName('modal')[0];

Normalerweise verwenden Sie eine ‚Klasse‘, wenn Sie mehr als eine haben. Sie verwenden eine 'ID', wenn Sie möchten, dass sie eindeutig ist. Dann können Sie `getElementById ('xyz') verwenden und Sie erhalten einen einzelnen Knoten. In diesem Fall muss am Ende kein extra [0] gemacht werden.

+0

Wahre JDG. Wird die Antwort anpassen, um sicherzustellen, dass dies nicht irreführend ist. Danke für die Erinnerung. – rasmeister

Verwandte Themen