删除表中的奇异行的类

时间:2015-10-08 12:32:19

标签: javascript jquery

当我单击HTML表格中的某一行时,我想从之前单击的行中删除highlightedRow类,并将其添加到新行中。

$(function () {
    $("table tr").click(function (e) {
        //remove class 
        var dataTable = $("#TemplateData");
        dataTable.removeClass("highlightedRow");

        //add class
        var dTable = $(this);
        dTable.addClass("highlightedRow");
        g_previouslyClickedRow = $(this).index()
}

问题是:

var dTable = $(this);
dTable.addClass("highlightedRow");

获取行元素:

var dataTable = $("#TemplateData");
dataTable.removeClass("highlightedRow");

获取表元素。 如何使用table元素和previouslySelectedRow值?

g_previouslyClickedRow = $(this).index()

获取行元素?

3 个答案:

答案 0 :(得分:1)

您需要将正确的element定位到removeClass

$("table tr").click(function (e) {
     //remove class 
      $('.highlightedRow').removeClass('highlightedRow');
     //add class
     $(this).addClass("highlightedRow");
}

当你说:

var dataTable = $("#TemplateData");
//dataTable will have reference to your table if #TemplateData is the id of your table
dataTable.removeClass("highlightedRow");
//the above line will just remove class from table as you have stored reference of your table
//in dataTable

当你说:

var dTable = $(this);
//$(this) will be referring to current element context inside click
dTable.addClass("highlightedRow");
//and thus the clicked element, whose reference is stored in dTable, will get the class 
//highlightedRow.

答案 1 :(得分:1)

简单地

 $(".highlightedRow").removeClass("highlightedRow");

答案 2 :(得分:0)

$("table tr").click(function (e) {
     g_previouslyClickedRow = $('.highlightedRow').index();
     //remove class 
      $('.highlightedRow').removeClass("highlightedRow");

     //add class
     $(this).addClass("highlightedRow");
}