Answers:
您可以使用来设置类(无论它是什么).attr()
,如下所示:
$("#td_id").attr('class', 'newClass');
如果要添加类,请.addclass()
改用,如下所示:
$("#td_id").addClass('newClass');
或者是使用.toggleClass()
以下方法交换类的简便方法:
$("#td_id").toggleClass('change_me newClass');
.closest('td')
代替.parents('td:first')
:)
I want to be able to do this while inside the click event of some other dom object. How do I grab the td's id and change its class?
-也许我读错了,也许他的意思是使用td的ID来更改课程...
<td>
在有问题的内部:)
change_me
如果您使用该部件,则该部件是可选的toggleClass()
我认为他想替换一个班级名称。
这样的事情会起作用:
$(document).ready(function(){
$('.blue').removeClass('blue').addClass('green');
});
来自http://monstertut.com/2012/06/use-jquery-to-change-css-class/
您可以这样做:
$("#td_id").removeClass('Old_class');
$("#td_id").addClass('New_class');
或者您可以这样做
$("#td_id").removeClass('Old_class').addClass('New_class');
您可以签出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。希望这可以帮助!
编辑:
如果您要说是要从嵌套元素更改它,则根本不需要ID。您可以改为:
$(this).closest('td').toggleClass('change_me some_other_class');
//or
$(this).parents('td:first').toggleClass('change_me some_other_class');
原始答案:
$('#td_id').removeClass('change_me').addClass('some_other_class');
另一个选择是:
$('#td_id').toggleClass('change_me some_other_class');
<td>
可能在内部,尽管他可能会仔细阅读:)
我最好使用.prop来更改className,并且效果很好:
$(#td_id).prop('className','newClass');
对于这一行代码,您只需要在下一个示例中更改newClass的名称,当然还要更改元素的ID,即可:idelementinyourpage
$(#idelementinyourpage).prop('className','newClass');
顺便说一句,当您要搜索将哪种样式应用于任何元素时,只需在显示页面时在浏览器上单击F12,然后在DOM Explorer的选项卡中选择要查看的元素即可。现在,在“样式”中,您可以看到哪些样式应用于元素以及从哪个类读取其元素。
var $td = $(this).parents('td:first')
],然后获取其id [var id = $td.attr('id');
]和类[var class = $td.attr('class');
],因为他希望TD内的click元素触发它