Img src参数在函数中。不显示图片

时间:2016-05-29 01:02:17

标签: javascript

我已经搜索了这个问题的解决方案,但无法找到具体的内容。我正在使用一副卡片写一个javascript记忆卡游戏,我有个人图像。在打印的html表中,我有一个带有onlick事件的img,它调用我的selectCard()函数。此函数接受参数(img id)并使用该id将img src从back.gif更改为相应的前卡(存储在名为preloadImages的数组中)

我的问题是,当发生这种情况时,图像src变为[object%20HTMLImageElement] .png而不是0.png或23.png或任何卡片被点击。

有人可以帮忙吗?

下面的代码块
//sets up the table for the game
function setGame(){
            document.getElementById("gameArea").innerHTML = "";
            var newTable = "<table border ='1' align='center'><tr>";
                for(i=0; i<4; i++){
                        newTable +="<tr>";
                        for(j=0; j<13; j++){
                                var cardId = j+i*13;
                                newTable += "<td><img id = "+cardId+" src='back.gif' width='100' height='140' onclick='selectCard("+cardId+")'/></td>";
                                }
                                newTable += "</tr>";
                }
                newTable += "</table>";
            document.getElementById("gameArea").innerHTML = newTable;
            }

//selectCard Function
function selectCard(Id){
            var imageRef = document.getElementById(Id);
            if (imageRef.src.match("back.gif")) {
                    imageRef.src = preloadImages[imageRef]+'.png';
                    }
                    else {
                        imageRef.src = "back.gif";
                    }
        }

2 个答案:

答案 0 :(得分:0)

我非常确定[object%20HTMLImageElement]是HTML元素,而不是图片的ID。如果我理解您要正确执行的操作,则会获取图像的ID并添加扩展名&#34; .png&#34;在将图像的src设置为该值之前,将其结束。无论你在代码中做什么,都要将imageRef的src更改为imageRef本身,而不是它的ID。试试这个:

function selectCard(Id){
    var imageRef = document.getElementById(Id);
    if (imageRef.src == "back.gif") {
        imageRef.src = Id + ".png";
    } else {
        imageRef.src = "back.gif";
    }
}

答案 1 :(得分:0)

我可以使用以下代码行解决此问题

url(r'(admin_page)$',"adminApp.views.show_admin_page"),