2023-12-10 10:00:04

jQuery更改类名

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

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

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


当前回答

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

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

其他回答

我想他是想替换一个类名。

这样做是可行的:

$(document).ready(function(){
    $('.blue').removeClass('blue').addClass('green');
});

从http://monstertut.com/2012/06/use-jquery-to-change-css-class/

$('.btn').click(function() {
    $('#td_id').removeClass();
    $('#td_id').addClass('newClass');
});

or

$('.btn').click(function() {
    $('#td_id').removeClass().addClass('newClass');
});

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

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

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

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

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

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

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

你可以签出addClass或toggleClass

所以你想在点击的时候改变它…让我把整个过程讲一遍。 让我们假设你的“外部DOM对象”是一个输入,就像一个选择:

让我们从这个HTML开始:

<body>
  <div>
    <select id="test">
      <option>Bob</option>
      <option>Sam</option>
      <option>Sue</option>
      <option>Jen</option>
    </select>
  </div>

  <table id="theTable">
    <tr><td id="cellToChange">Bob</td><td>Sam</td></tr>
    <tr><td>Sue</td><td>Jen</td></tr>
  </table>
</body>

一些非常基本的CSS:

​#theTable td {
    border:1px solid #555;
}
.activeCell {
    background-color:#F00;
}

并设置一个jQuery事件:

function highlightCell(useVal){
  $("#theTable td").removeClass("activeCell")
      .filter(":contains('"+useVal+"')").addClass("activeCell");
}

$(document).ready(function(){
    $("#test").change(function(e){highlightCell($(this).val())});
});

现在,无论何时从选择中选择内容,它都会自动找到具有匹配文本的单元格,允许您颠覆整个基于id的过程。当然,如果您想这样做,您可以轻松地修改脚本,使用id而不是值

.filter("#"+useVal)

并确保适当地添加id。希望这能有所帮助!