2017-09-26 4 views
0

Ich bin sehr neu in Javascript, also entschuldige ich mich, wenn dies eine dumme Frage ist. Ich versuche, eine Funktion zu schreiben, die ein bestimmtes Bild neben einem Element hängt, abhängig davon, ob es wahr oder falsch ist. Ich erhalte eine Fehlermeldung, wenn ich src.appendChild(CorrectImg) sagen, sagt es „nicht Eigentum appendChild von null lesen können ...“Wie füge ich ein Bild in JavaScript an?

function check(bool, id) { 
    var CorrectImg = document.createElement("CorrectImg"); 
    CorrectImg.src = "correct.png" 
    var WrongImg = document.createElement("WrongImg"); 
    WrongImg.src = "wrong.png"; 

    if (bool) { 
    var src = document.getElementById(id); 
    src.appendChild(CorrectImg); 
    return; 
    } 

    var src = document.getElementById(id); 
    src.appendChild(WrongImg); 
} 
+1

was ist ein '' Element? – epascarello

+0

gut der Fehler bedeutet, dass Sie das Element nicht existiert. – epascarello

+0

sollte ein Betrüger sein von https://stackoverflow.com/questions/14028959/why-does-jquery-or-dom-method-such-as-geelementbyid-not-find-the-element aber createElement ist auch falsch . – epascarello

Antwort

0

function check(bool, id){ 
 
var CorrectImg = document.createElement("img"); 
 
CorrectImg.src = "correct.png" 
 
var WrongImg = document.createElement("img"); 
 
WrongImg.src = "wrong.png"; 
 

 

 
if(bool){ 
 
    var src = document.getElementById(id); 
 
    src.appendChild(CorrectImg); 
 
    return; 
 
} 
 

 
else{ 
 

 
    var src = document.getElementById(id); 
 
    src.appendChild(WrongImg); 
 
    return; 
 
     } 
 
}

0

Das Hauptproblem ist hier falsch ist, dass Sie aren‘ t immer ein img Element erstellen. Wenn Sie die Dokumente für document.createElement() betrachten, sehen Sie, dass der erste Parameter der Name des HTML-Elements sein soll, das Sie erstellen möchten.

So Ihr Code:

var CorrectImg = document.createElement("CorrectImg"); 
 
CorrectImg.src = "correct.png" 
 
var WrongImg = document.createElement("WrongImg"); 
 
WrongImg.src = "wrong.png";

Sollte tatsächlich:

var CorrectImg = document.createElement("img"); 
 
CorrectImg.src = "correct.png" 
 
var WrongImg = document.createElement("img"); 
 
WrongImg.src = "wrong.png";

Verwandte Themen