Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery更改类名_Jquery_Css - Fatal编程技术网

jQuery更改类名

jQuery更改类名,jquery,css,Jquery,Css,我想根据td标签的id更改td标签的类别: <td id="td_id" class="change_me"> ... 我希望能够在其他dom对象的单击事件中执行此操作。如何获取td的id并更改其类别?使用jQuery 您可以使用设置类,而不管它是什么,如下所示: $("#td_id").attr('class', 'newClass'); $("#td_id").addClass('newClass'); 如果要添加类,请改为使用,如下

我想根据td标签的id更改td标签的类别:

<td id="td_id" class="change_me"> ...
我希望能够在其他dom对象的单击事件中执行此操作。如何获取td的id并更改其类别?

使用jQuery 您可以使用设置类,而不管它是什么,如下所示:

$("#td_id").attr('class', 'newClass');
$("#td_id").addClass('newClass');
如果要添加类,请改为使用,如下所示:

$("#td_id").attr('class', 'newClass');
$("#td_id").addClass('newClass');
或者使用以下方法交换类:

.

编辑:

如果您说要从嵌套元素更改它,那么根本不需要ID。您可以这样做:

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

另一个选择是:

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

我想你在找这个:

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

您可以签出或

以便在单击时更改它…让我来看看整个过程。 假设您的外部DOM对象是一个输入,如select:

让我们从以下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>
并设置jQuery事件:

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

$(document).ready(function(){
    $("#test").change(function(e){highlightCell($(this).val())});
});
现在,无论何时从select中选择某个内容,它都会自动找到一个包含匹配文本的单元格,从而允许您颠覆整个基于id的过程。当然,如果您想这样做,可以很容易地修改脚本以使用id而不是值

.filter("#"+useVal)

并确保适当添加ID。希望这有帮助

我想他想替换一个类名

类似这样的方法会奏效:

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

可以执行以下操作: $td_id.removeClass'Old_class'; $td_id.addClass'New_class'; 或者你可以这样做

$("#td_id").removeClass('Old_class').addClass('New_class');

如果您已经有一个类,并且需要在类之间交替添加一个类,则可以链接切换事件:

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

这个方法对我很有效

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

我最好使用.prop来更改类名,它工作得非常好:

$(#td_id).prop('className','newClass');
对于这行代码,您只需在下一个示例中更改newClass的名称,当然还有元素的id:idelementinyourpage

$(#idelementinyourpage).prop('className','newClass');

顺便说一下,当您要搜索应用于任何元素的样式时,只需在显示页面时单击浏览器上的F12,然后在DOM Explorer的选项卡中选择要查看的元素。在样式中,您现在可以看到应用于元素的样式以及从哪个类读取元素。

使用jquery更改类

试试这个

还可以使用此查询设置任何属性

$('#selector_id').attr('Attribute Name','Attribute Value');

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


嘿@Nick,添加一个事件处理程序,找到第一个td父级[var$td=$this.parents'td:first'],然后得到它的id[var id=$td.attr'id';]和类[var class=$td.attr'class';],因为他希望td中有一个click元素来触发it@Bob-我不明白,你从哪里得到的,另一个问题?这一个表示他有元素的ID:也可以获得一个可以使用的父元素。最近的'td'而不是.parents'td:first':他的最后一句话:我希望在其他dom对象的单击事件中能够这样做。如何获取td的id并更改其类别也许我读错了,也许他是指使用td的id来更改类…@Bob-对…其他一些DOM对象,您假设该对象在问题中:请注意,如果您使用ToggleClassis,则更改部分是可选的。我不认为OP在,尽管他可能在,请仔细阅读:@Nick-是的,我添加了更新,因为我再次阅读了它,看到OP在问我如何获取td的id并进行更改。。。。这让我相信OP没有ID的句柄,这会使我最初的答案没有多大帮助。鉴于此,我假设带有处理程序的元素是嵌套的。但这当然是一个假设,但他想在其他dom对象的click事件中实现这一点,并提供一些细节。
$(#idelementinyourpage).prop('className','newClass');
$('#selector_id').attr('class','new class');
$('#selector_id').attr('Attribute Name','Attribute Value');
$(document).ready(function(){
  if($('#td_id').hasClass('change_me')) {
    $('#td_id').removeClass('change_me').addClass('something_else');
  }
});