0

これはおそらく、私があまりにも長い間コードを見つめていて、重要な何かを見落としている別の例にすぎません。基本的に、.click (jQuery) イベントが発生したときに WebKit で、クリックされたアイテムのコンテンツを別のイベントに入力するスクリプトがあります。ただし、何らかの理由で、アイテムを複数回クリックすると、DOM 要素が削除されます。何か案は?JSFiddle とコード サンプルは以下にリンクされています。

犯人だと思う機能は次のとおりです。

$(".vote-divs .vote-div").click(function () {
        $(".vote-none").hide()
        $(".step-2-column-left .vote-div").each(function () {
            $(this).hide();
        });
        $("#" + $(this).attr("id") + "-s").show();

        $(".confirm-s").each(function () {
            $(this).hide();
        });

        if ($(this).attr("id") == "vote-grow") {
            $("#donation-vote-for").val("Grow");
            $("#confirm-grow-s").show();
        } else if ($(this).attr("id") == "vote-stache") {
            $("#donation-vote-for").val("Stache");
            $("#confirm-stache-s").show();
        } else if ($(this).attr("id") == "vote-shave") {
            $("#donation-vote-for").val("Shave");
            $("#confirm-shave-s").show();
        } else if ($(this).attr("id") == "vote-mutton") {
            $("#donation-vote-for").val("Mutton");
            $("#confirm-mutton-s").show();
        } else if ($(this).attr("id") == "vote-manchu") {
            $("#donation-vote-for").val("Manchu");
            $("#confirm-manchu-s").show();
        }


        console.log(event.target);
        $(".vote-none").html(event.target);

        goTo("3");
    });

JSFiddle

4

2 に答える 2

0

.html()文字列を期待します。ノードを提供します。これを行うと、jQuery はこのノードを受け取り、他の要素に追加します。要素を別の要素のコンテンツで本当に埋めたい場合、解決策は次のとおりです。

$(".vote-none").html(event.target.innerHTML);

また

$(".vote-none").html($(this).html());

thisあなたの場合は等しいことに注意してくださいevent.target

于 2013-04-26T07:14:29.430 に答える