我有一张空白图片表,点击后我想改变。 所以,我正在创建一个表格:
table_string = "<center><table border=1>";
for( i = 0 ; i < 8 ; i++ )
{
table_string += "<tr>";
for( j = 0 ; j < 8 ; j++ )
{
table_string += "<td><img name=image"+i+"_"+j+" src=games/graphics/atoms/blank.jpg onclick='OnClick("+i+","+j+")'></td>";
}
table_string+="</tr>";
}
table_string+= "</table></center>";
$("#atoms_board").append(table_string); //appending the html code to atoms_board div,
现在我试图改变src属性的OnClick函数:
function OnClick( i, j )
{
$('input[name=image"+i+"_"+j+"]').attr('src');
}
我的问题是函数OnClick不会改变img的src; /。我在这里看到了很多类似的问题,但到处都只找到了这个答案。任何帮助表示赞赏:}。
答案 0 :(得分:3)
请注意底部代码段中的语法高亮显示。看看它是如何一种颜色?您正在将逻辑编码为字符串。这意味着你的字符串是:
'input[name=image"+i+"_"+j+"]'
而不是:
'input[name=image1_2]'
尝试:
$("input[name=image"+i+"_"+j+"]").attr('src');
//^ big quote ^ big quote
在语法高亮显示现在看变量如何变黑?这意味着它们不再被视为字符串的一部分。
如果你没有使用带语法高亮的编辑器,我强烈建议你找一个。它们可以帮助您找到这类问题。
答案 1 :(得分:3)
使用“this”将引用传递给自己。
onclick="OnClick(this)"
OnClick function(element) {
alert(element.src)
}
答案 2 :(得分:0)
您的代码中存在一个问题。将其修改为
function OnClick( i, j )
{
$('input[name=image'+i+'_'+j+']').attr('src');
}