2017-09-26 72 views
0

我對JavaScript很陌生,所以我很抱歉如果這是一個愚蠢的問題。我試圖編寫一個函數,它會在元素旁邊添加一個特定的圖像,這取決於它是真是假。當我說src.appendChild(CorrectImg)我得到一個錯誤,它說「無法讀取空的財產的appendChild ......」如何在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

錯了這裏的主要問題是,你不是活得永遠不會創建一個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";