2

次の tr を持つ動的にロードされたテーブルがあります。

        <tr>
            <td><span class="active">Task Name</span><br /><span class="icons_small">U</span><span class="contact_name tiny">Contact Name</span><span class="user_number tiny">(111111)</span><span class="icons_small" style="visibility:hidden;">!</span></td>
            <td><span class="date_assigned">13/12/2012</span><br /> <div id="progressbar"></div></td>
            <td class="icons_small"><span class="flag_task">f</span></td>
            <td class="icons_small"><span class="set_reminder">A</span></td>
            <td><span class="warning tiny" style="visibility:hidden;">Delete</span></td>
        </tr>

spanclass "flag_task" (3 番目の td ダウン) で td を設定して、追加のクラスをトグルクラスにしようとしていますが、spanclass "flag_task で選択された td でのみ、そのクラスのすべてのインスタンスではありません。これは現在使用しているものです:

            <script>
               $(document).ajaxSuccess(function () { 
                    $(".flag_task").click(function () {
                        $(".flag_task").toggleClass("warning");
                    });    
               });
            </script>

選択したインスタンスのみに影響を与える方法を誰かが明確にしてください。

ありがとう、マーク

4

1 に答える 1

2

flag_taskコードのこのセクションでは、単に「クリックされた要素を取得する」のではなく、「クラスが のすべての要素を取得する」と言っています。

$(".flag_task").click(function () {
    $(".flag_task").toggleClass("warning");
});    

したがって、この問題を解決するには、クリックされた要素を選択するだけです。

この行:

$(".flag_task").toggleClass("warning");

次のように変更できます。

$(this).toggleClass("warning");

「this」キーワードを理解するをご覧ください

于 2013-09-22T14:55:22.833 に答える