-1

我有一张空白图片表,点击后我想更改。所以,我正在创建一个表:

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 ;/. 我在这里看到了许多类似的问题,但在任何地方我都只找到了这个答案。任何帮助表示赞赏:}。

4

3 回答 3

3

请注意底部代码段中突出显示的语法。看看这都是一种颜色吗?您正在将逻辑编码到字符串中。这意味着你的字符串是这样的:

'input[name=image"+i+"_"+j+"]'

而不是这个:

'input[name=image1_2]'

尝试:

$("input[name=image"+i+"_"+j+"]").attr('src');
//^ big quote                  ^ big quote 

看看现在语法高亮中的变量是如何变黑的吗?这意味着它们不再被视为字符串的一部分。

如果您没有使用带有语法高亮功能的编辑器,我强烈建议您找到一个。他们帮助你找到这类问题。

于 2013-01-08T18:06:28.317 回答
3

使用“this”传递对自身的引用。

onclick="OnClick(this)"


OnClick function(element) {
      alert(element.src)

}
于 2013-01-08T18:06:48.863 回答
0

您的代码中有一个问题。修改为

function OnClick( i, j )
{
    $('input[name=image'+i+'_'+j+']').attr('src');
}
于 2013-01-08T18:07:38.517 回答