2023-12-10 10:00:04

jQuery更改类名

我想改变td标签的类给定td标签的id:

<td id="td_id" class="change_me"> ...

我希望能够做到这一点,而在一些其他dom对象的点击事件。我如何获取td的id并改变它的类?


当前回答

使用jQuery 你可以使用.attr()来设置类(不管它是什么),像这样:

$("#td_id").attr('class', 'newClass');

如果你想添加一个类,可以使用.addclass(),如下所示:

$("#td_id").addClass('newClass');

或者使用.toggleClass()交换类的简单方法:

$("#td_id").toggleClass('change_me newClass');

下面是专门用于class属性的jQuery方法的完整列表。

其他回答

使用jQuery 你可以使用.attr()来设置类(不管它是什么),像这样:

$("#td_id").attr('class', 'newClass');

如果你想添加一个类,可以使用.addclass(),如下所示:

$("#td_id").addClass('newClass');

或者使用.toggleClass()交换类的简单方法:

$("#td_id").toggleClass('change_me newClass');

下面是专门用于class属性的jQuery方法的完整列表。

如果你已经有了一个类,并且需要在类之间交替,而不是添加一个类,你可以链式切换事件:

$('li.multi').click(function(e) {
    $(this).toggleClass('opened').toggleClass('multi-opened');
});

下面是使用jQuery的解决方案:

$(document).ready(function(){
  if($('#td_id').hasClass('change_me')) {
    $('#td_id').removeClass('change_me').addClass('something_else');
  }
});

编辑:

如果你说你从一个嵌套的元素改变它,你根本不需要ID。你可以这样做:

$(this).closest('td').toggleClass('change_me some_other_class');
    //or
$(this).parents('td:first').toggleClass('change_me some_other_class');

http://api.jquery.com/closest/ http://api.jquery.com/parents/


最初的回答:

$('#td_id').removeClass('change_me').addClass('some_other_class');

另一种选择是:

$('#td_id').toggleClass('change_me some_other_class');

这个方法对我很有效

$('#td_id').attr('class','new class');