Javascript 如何用“删除”删除表中的类$(本)";
当我使用id=“rollback1”单击Javascript 如何用“删除”删除表中的类$(本)";,javascript,jquery,Javascript,Jquery,当我使用id=“rollback1”单击img内部时,我想从第一个表行中删除类fail,而不从表第二行中删除类fail <table> <tr> <td class="fail"> </td> <td> <img id="rollback1"></img> </td> </tr> <tr&g
img
内部时,我想从第一个表行中删除类fail,而不从表第二行中删除类fail
<table>
<tr>
<td class="fail">
</td>
<td>
<img id="rollback1"></img>
</td>
</tr>
<tr>
<td class="fail">
</td>
<td>
<img id="rollback2"></img>
</td>
</tr>
</table>
还有:
$("#rollback1").on('click',function(){
$(this).prev().removeClass();
});
$("#rollback1").on('click',function(){
$(this).closest('.fail').removeClass();
});
但是,我仍然不知道如何从一行中删除一个类 你可以这样做:
$(this).closest('tr').find('td.fail').removeClass('fail');
您可以使用id
并从选择器^=
开始,如下所示:
$("[id^=rollback]").on('click', function() {
$(this).closest('tr').find('.fail').removeClass('fail');
});
$(“[id^=rollback]”)。在('click',function()上{
$(this).closest('tr').find('.fail').removeClass('fail');
});代码>
。失败{
背景色:红色;
}
TD 1
TD 1
您可以这样做:
$(this).closest('tr').find('td.fail').removeClass('fail');
您可以使用id
并从选择器^=
开始,如下所示:
$("[id^=rollback]").on('click', function() {
$(this).closest('tr').find('.fail').removeClass('fail');
});
$(“[id^=rollback]”)。在('click',function()上{
$(this).closest('tr').find('.fail').removeClass('fail');
});代码>
。失败{
背景色:红色;
}
TD 1
TD 1
如果#rollback2
应该在第二行执行相同的操作,您可以执行更通用的操作:
$('img[id^="rollback"]').on('click', function(e) {
e.preventDefault();
$(this).closest('tr').find('.fail').removeClass('fail');
});
如果#rollback2
在第二行执行相同的操作,则可以执行更通用的操作:
$('img[id^="rollback"]').on('click', function(e) {
e.preventDefault();
$(this).closest('tr').find('.fail').removeClass('fail');
});
最近的()方法返回所选元素的第一个祖先
$(this).closest('tr').find('.fail').removeClass('fail');
祖先是父母、祖父母、曾祖父母等
方法find()返回所选元素的子元素
$(this).closest('tr').find('.fail').removeClass('fail');
最近的()方法返回所选元素的第一个祖先
$(this).closest('tr').find('.fail').removeClass('fail');
祖先是父母、祖父母、曾祖父母等
方法find()返回所选元素的子元素
$(this).closest('tr').find('.fail').removeClass('fail');
可以使用parent()
和prev()
以元素为目标,如下所示:
$(“#回滚1”)。在('click',function()上{
$(this.parent().prev('.fail').removeClass('fail');
//如果中间有'td',请使用兄弟姐妹()
//$(this).parent().sides('.fail').removeClass('fail');
});代码>
.fail{color:red;}
11
22
您可以使用parent()
和prev()
以元素为目标,如下所示:
$(“#回滚1”)。在('click',function()上{
$(this.parent().prev('.fail').removeClass('fail');
//如果中间有'td',请使用兄弟姐妹()
//$(this).parent().sides('.fail').removeClass('fail');
});代码>
.fail{color:red;}
11
22
试试这个:
$("#rollback1").on('click', function() {
$(this).closest('table').find('tr:nth-child(1)').removeClass('fail');
});
试试这个:
$("#rollback1").on('click', function() {
$(this).closest('table').find('tr:nth-child(1)').removeClass('fail');
});
除非您在现有的两个之间添加另一个
。@Kenai,否则您是最受欢迎的…。如果您在这两个之间有另一个td
,则不要使用prev()
而使用sibles()
像$(this).parent().sibles('.fail').removeClass('fail')代码>……谢谢。@Mamun太好了!如果类在TR内,我可以使用同级吗?@Kenai,否,在这种情况下,层次结构将更改。现在,图像位于一个td
的内部,使用parent()
您的目标是td
。然后使用siblines()
可以将该类与父类的级别相同的元素作为目标。谢谢你的关注,我很抱歉。我这样做:$(this.nexist('tr').removeClass('fail');除非您在现有的两个之间添加另一个
。@Kenai,否则您是最受欢迎的…。如果您在这两个之间有另一个td
,则不要使用prev()
而使用sibles()
像$(this).parent().sibles('.fail').removeClass('fail')代码>……谢谢。@Mamun太好了!如果类在TR内,我可以使用同级吗?@Kenai,否,在这种情况下,层次结构将更改。现在,图像位于一个td
的内部,使用parent()
您的目标是td
。然后使用siblines()
可以将该类与父类的级别相同的元素作为目标。谢谢你的关注,我很抱歉。我这样做:$(this.nexist('tr').removeClass('fail');我的建议是,你不应该使用prev()
,因为如果你改变位置,它将无法正常工作。。。此外,最近的
方法比家长
更有效。谢谢你,扎卡里亚。我的建议是,你不应该使用prev()。。。此外,最近的
方法比家长
更有效,谢谢你,扎卡里亚。