2017-06-10 4 views
0
var wrapper = document.getElementsByClassName('.wrapper'); 

for(var i =0; i < 10; i++){ //create grid of buttons 

    var num = document.createElement("div"); 
    var node = document.createTextNode(i); 
    num.appendChild(node); 
    wrapper.appendChild(num); 
    num.className = "number"; 

} 

Es wirft einen Fehler, dass Wrapper nicht definiert ist, es funktioniert nur, wenn ich anstelle von Wrapper verwendet document.body, aber ich möchte, dass sie divs an den Wrapper div jede anfügen Vorschläge ?ein div zu einem Klassennamen anhängt mit Hilfe von Javascript

+0

Gibt es nur ein Element mit der Klasse 'wrapper'? Wenn ja, ersetzen Sie "getElementsByClassName" durch "querySelector" (['Element.querySelector()'] (https://developer.mozilla.org/en-US/docs/Web/API/Element/querySelector)) – Andreas

+0

ist es das einzige Element mit dieser Klasse im gesamten Dokument – syefox

Antwort

1
var wrapper = document.getElementsByClassName('wrapper'); 

statt

var wrapper = document.getElementsByClassName('.wrapper'); 

EDIT:

var addButtons = function() { 
var wrapper = document.getElementsByClassName("wrapper")[0]; 
var num, node; 
    for (var i = 0; i < 10; i++) { 
    console.info("Button"+i); 
    num = document.createElement("div"); 
    num.className = "number"; 
    node = document.createTextNode(i); 
    num.appendChild(node); 

    wrapper.appendChild(num); 

    } 
} 

addButtons(); 

https://jsfiddle.net/tonysamperi/7jzdsk08/

+0

Aber jetzt gibt es einen anderen Fehler;) – Andreas

+0

es wirft einen weiteren Fehler TypeError: wrapper.appendChild ist keine Funktion – syefox

+0

Das ist, weil Wrapper null ist. Ich füge der Antwort eine Geige hinzu. Moment mal. –

Verwandte Themen