2

onclickイベントが発生した後にDOMオブジェクトを渡していますが、htmlから渡した要素のIDを知る必要があります。JavaScriptに存在するものについて読みましたthis.idが、正しく利用できないようです。

関数内の私のコードは次のとおりです。

function clickFunction() {
    $(".tictactoe").on('click', function() {

        $(this).text("X");
        if (this.id == "upleft") {
            $('#upright').text("yes");
        }
    });
}

$(document).ready(function() {
    $('#playagain').hide();
    $('.tictactoe').on("click");

    clickFunction();

});

ですから、私のクイックテストが成功した場合、左側の位置をクリックすると、右上隅のバーにティックタックのグリッドに「はい」という単語が表示されると思いました。

おそらく私の比較に何か問題がありますか?

this.id == "upright"

Xが表示され、残りのコードが機能していることを示しているため、比較する必要があります。あなたの考えを聞かせてください。

4

2 に答える 2

3

クリックハンドラーでclickFunctionを渡します。次に、関数内の不要なクリックハンドラーを削除します。

$(document).ready(function(){
    $('#playagain').hide();
    $('.tictactoe td').on("click", clickFunction);    //Added td click handler
});

function clickFunction()
{
    $(this).text("X");
    if(this.id == "upleft")
    {
        $('#upright').text("yes");
    }
}
于 2012-12-06T23:34:19.180 に答える
0

代わりに以下を使用するとどうなりますか?

$(this).attr('id') == "upright"
于 2012-12-07T00:41:26.427 に答える