我已经搜索了这个问题的解决方案,但无法找到具体的内容。我正在使用一副卡片写一个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";
}
}
答案 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"),