2017-09-26 9 views
0

私は非常にjavascriptに新しいので、これはばかな質問である場合は謝罪します。私はそれが真であるか偽であるかに応じて要素の隣にある特定のイメージを追加する関数を記述しようとしています。私はsrc.appendChild(CorrectImg)を言うとき、私はエラーを取得しています、それはJavaScriptでイメージを追加する方法は?

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

'' 要素は何か? – epascarello

+0

まあ、エラーは要素が存在しないことを意味します。 – epascarello

+0

はhttps://stackoverflow.com/questions/14028959/why-does-jquery-or-a-dom-method-such-as-getelementbyid-not-find-the-elementのものでなければなりませんが、createElementも間違っています。 – epascarello

答えて

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

間違ってここでの主な問題は、あなたが「上がらないということです「ナルのプロパティのappendChildを...読み取ることができません」と言いますimg要素を作成します。 document.createElement()のドキュメントを見ると、最初のパラメータは作成するHTML要素の名前である必要があります。

だからあなたのコード:

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

は実際にあるべき:

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

関連する問題