Javascript 如何用“删除”删除表中的类$(本)";

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

当我使用id=“rollback1”单击
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()。。。此外,
最近的
方法比
家长
更有效,谢谢你,扎卡里亚。