0

已经为此工作了一段时间。

作为更大努力的一部分,我需要删除驻留在特定 TR 类中的图像。我有一个 JSFiddle 工作(我混合了我在 SO 上找到的两种不同的方法),但问题是 IF 语句对表中三个 TR 中的两个解析为 true,但它删除了所有图像。即使是不匹配的。

我知道这可能很简单。

两个 TR 类:

<TR class=rowToClick>

<TR class=hiddenRow>

我需要保留图像

<TR class=rowToClick>

我注释掉了非常简单的 JQuery 块。两者产生相同的结果。

谢谢!

http://jsfiddle.net/DDjFz/148/

// if ($('TR').hasClass('hiddenRow')) {$('td > img').remove();}

$.each(jQuery("TR"),function(){
   if (jQuery(this).hasClass("hiddenRow")) {
       $('td > img').remove();
    }
});
4

3 回答 3

1

尝试:

$.each(jQuery("TR"),function(){
   if (jQuery(this).hasClass("hiddenRow")) {
       $(this).find('td > img').remove();
    }
});

工作演示:http: //jsfiddle.net/DDjFz/149/

于 2013-04-01T07:34:52.510 回答
0

您当前的选择器'td > img'将匹配所有 tds 的直接后代的所有图像元素-而不是仅匹配 match 内的那些元素tr

改变

$('td > img').remove();

$(this).find('td > img').remove();

应该做的伎俩。

于 2013-04-01T07:10:09.370 回答
0

试试这个,工作小提琴

 $.each(jQuery("TR"),function(){
   if (jQuery(this).hasClass("hiddenRow")) {
     $('td > img',this).remove();
   }
});
于 2013-04-01T07:27:39.697 回答