Jquery 在 table 上更改 class 一行

Jquery changing class one row on table

我在我的项目中使用 backbone、jquery 和车把。

我正在尝试通过单击更改行 class。
我的意思是,如果我单击编辑按钮(table 右侧),它会更改 class.

看table截图就明白了。

AdminTableView.js

var addAdminPanelView = Backbone.View.extend({

  el:$(".page"),
  events:{
      'click #editButton':'editEvent',
      'click #deleteButton':'deleteEvent'
  },


  editEvent:function(){
      console.log("edit");
      this.$el.children().find("th").addClass("info");
  },

我的模板

 <tbody id="myTable">
  <tr class="active">
    {{#travels}}
    <th>{{user.department.departmentName}}</th>
    <th>{{user.managerID}}</th>
    <th>{{user.firstName}} {{user.lastName}}</th>
    <th>Seyahat Başlangıcı</th>
    <th>Seyahat Sonu</th>
    <th>{{location}}</th>
    <th>{{travelPurpose}}</th>
    <th>{{travelCost}}</th>
    <th>{{projectCode}}</th>
    <th> <a href="/#travel">
        <span id="deleteButton" class="glyphicon glyphicon-minus-sign"></span>
    </a>
        <a href="#">
            <span id="editButton" class="glyphicon glyphicon-edit"></span>
        </a>
    </th>
    {{/travels}}
  </tr>
</tbody>

如果我点击任何编辑按钮,所有行都已添加 class "info"

试试这个 $( "editButton" ).parent( ".active" ).addClass( "yourClass" ); 或这个 $( "editButton" ).parent( "tr" ).addClass( "yourClass" ); 希望有用

似乎是在单击 "edit" 按钮时触发的事件。

但你必须知道在哪一行。
在 "event.target" 中使用 .target 可能有助于找到父行。

试试这个:

editEvent:function(e){
      console.log("edit");
      $(e.target).closest("tr").addClass("info");
  },