-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

コードに 1 つの問題があります。に変更します

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