我想改变td标签的类给定td标签的id:
<td id="td_id" class="change_me"> ...
我希望能够做到这一点,而在一些其他dom对象的点击事件。我如何获取td的id并改变它的类?
我想改变td标签的类给定td标签的id:
<td id="td_id" class="change_me"> ...
我希望能够做到这一点,而在一些其他dom对象的点击事件。我如何获取td的id并改变它的类?
当前回答
编辑:
如果你说你从一个嵌套的元素改变它,你根本不需要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');
其他回答
所以你想在点击的时候改变它…让我把整个过程讲一遍。 让我们假设你的“外部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。希望这能有所帮助!
你可以签出addClass或toggleClass
下面是使用jQuery的解决方案:
$(document).ready(function(){
if($('#td_id').hasClass('change_me')) {
$('#td_id').removeClass('change_me').addClass('something_else');
}
});
使用jquery更改类
试试这个
$('#selector_id').attr('class','new class');
您还可以使用此查询设置任何属性
$('#selector_id').attr('Attribute Name','Attribute Value');
使用jQuery 你可以使用.attr()来设置类(不管它是什么),像这样:
$("#td_id").attr('class', 'newClass');
如果你想添加一个类,可以使用.addclass(),如下所示:
$("#td_id").addClass('newClass');
或者使用.toggleClass()交换类的简单方法:
$("#td_id").toggleClass('change_me newClass');
下面是专门用于class属性的jQuery方法的完整列表。