jQuery更改类名
我想根据td标签的id更改td标签的类别: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_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');
}
});