2017-12-21 1 views
-2

ich den Eingangstyp und den Text sehen wollen "Dies ist ein Text" auf der SeiteWas mache ich hier falsch, während ich das DOM manipuliere?

const ui = document.createElement('ul'); 
const item = document.createElement('li'); 
item.innerHTML = "<input> This is some text"; 
ui.appendChild(item); 
+1

Sie haben dem Dokument nicht wirklich 'ui' angehängt ... – Snowmonkey

+0

Sie erstellen ein 'ul'-Element auch im laufenden Betrieb. Waren Sie es an das aktuelle Dokument anhängen? – Icarus

+0

rofl wir alle haben das gefangen. – Snowmonkey

Antwort

1

Sie verpassen so etwas wie:

document.body.appendChild(ui) 

const ui = document.createElement('ul'); 
 
const item = document.createElement('li'); 
 
item.innerHTML = "<input> This is some text"; 
 
ui.appendChild(item); 
 

 
document.body.appendChild(ui)

Bisher haben Sie die Elemente erstellt, sie werden jedoch nicht in das DOM eingefügt.

4

Sie müssen außerdem ui an das DOM selbst anhängen.

Im folgenden Beispiel, ich hängen Sie ihn an <body>, die ich mit document.getElementsByTagName() bekommen. Beachten Sie, dass dies eine NodeList Sammlung von Elementen zurückgibt, so dass Sie auf das erste Ergebnis mit [0] zugreifen müssen.

const ui = document.createElement('ul'); 
 
const item = document.createElement('li'); 
 
const body = document.getElementsByTagName('body')[0]; 
 
item.innerHTML = "<input> This is some text"; 
 
ui.appendChild(item); 
 
body.appendChild(ui);

hoffe, das hilft! :)