Jquery:单击突出显示/取消突出显示表行

Pok*_*oku 18 jquery

我希望我的脚本突出显示我选择的行并且它工作得很好,但是当选择/突出显示行时,如果选择了另一行,我希望它"取消选择/取消选择".我该怎么做呢?

这是用于选择行的当前代码,它取消选择,但仅当我再次单击同一行时:

$(".candidateNameTD").click(function() {
            $(this).parents("tr").toggleClass("diffColor", this.clicked);
        });
Run Code Online (Sandbox Code Playgroud)

Html表

<table id="newCandidatesTable">
    <thead>
        <tr>
            <th style="cursor: pointer;">ID</th>
            <th style="cursor: pointer;">Navn</th>
            <th style="cursor: pointer;">Email</th>
            <th></th>
        </tr>
    </thead>
    <tbody>
    <% foreach (var candidate in Model.Ansogninger)
    {
         %>
            <tr id="<%= candidate.AnsogerID %>" class="newCandidatesTableTr">
                <td><div id="candidateID"><%= candidate.AnsogerID %></div></td>
                <td><div id="<%= "candidateName_" + candidate.AnsogerID %>" class="candidateNameTD"><%= candidate.Navn %></div></td>
                <td><div id="candidateEmail"><%= candidate.Email %></div></td>
                <td>
                    <div id="<%= "acceptCandidateButton_" + candidate.AnsogerID %>" class="acceptb" style="cursor: pointer; border: 1px solid black; width: 150px; text-align: center;">Godkend</div>
                </td>
            </tr>
         <%
    } %>
    </tbody>
    </table>
Run Code Online (Sandbox Code Playgroud)

fre*_*oma 23

您可以先取消选择所有行,例如

    $(".candidateNameTD").click(function() {
        $(this).closest("tr").siblings().removeClass("diffColor");
        $(this).parents("tr").toggleClass("diffColor", this.clicked);
    });
Run Code Online (Sandbox Code Playgroud)

编辑:是的,sry,但想法是对的;)


Dan*_*ura 6

$(".candidateNameTD").click(function() {
            $("tr").removeClass("diffColor");
            $(this).parents("tr").addClass("diffColor");
        });
Run Code Online (Sandbox Code Playgroud)