如何选择表格行中的图像?

时间:2011-03-16 17:10:48

标签: jquery jquery-selectors

我在页面上有一个表格如下:

<table id="ctl00_PlaceHolderMain_Table_Name" class="schedule-table" cellspacing="1" border="0" style="width:100%;">
<tr>
    <td class="resource-header"><span class="resource-header-text">Personnel</span></td>
    <td class="resource-header"><span class="resource-header-text">Office</span></td>
    <td class="dow"><span class="dow">Tue<br>01</span></td><td class="dow"><span class="dow">Wed<br>02</span></td><td class="dow"><span class="dow">Thu<br>03</span></td><td class="dow"><span class="dow">Fri<br>04</span></td><td class="weekend"><span class="weekend-text">Sat<br>05</span></td><td class="weekend"><span class="weekend-text">Sun<br>06</span></td><td class="dow"><span class="dow">Mon<br>07</span></td>...and so on until end of month...<td class="dow"><span class="dow">Thu<br>31</span></td>
</tr>
<tr class="DataRow" id="DataRow_8">
<td class="resource" style="display:none;"><span class="resource">8</span></td>
<td class="resource" id="TD_Name"><img src="../../images/epas/working.gif" width="16" height="16" alt="Working..." id="imgProgress" /><span title="Lname, Fname " class="resource">Lname, Fname</span></td>
<td class="resource" id="TD_Office"><span>A6OK</span></td>
<td class="dow" id="TD_1" onDblClick="location.href('myurl.aspx?p=8&amp;e=0&amp;d=01-Mar-2011&amp;o=8&amp;v=A6OK');"></td>
<td class="dow" id="TD_2" onDblClick="location.href('myurl.aspx?p=8&amp;e=0&amp;d=02-Mar-2011&amp;o=8&amp;v=A6OK');"></td>
<td class="dow" id="TD_3" onDblClick="location.href('myurl.aspx?p=8&amp;e=0&amp;d=03-Mar-2011&amp;o=8&amp;v=A6OK');"></td>
<td class="dow" id="TD_4" onDblClick="location.href('.aspx?p=8&amp;e=0&amp;d=04-Mar-2011&amp;o=8&amp;v=A6OK');"></td>
<td class="weekend" id="TD_5" onDblClick="location.href('.aspx?p=8&amp;e=0&amp;d=05-Mar-2011&amp;o=8&amp;v=A6OK');"></td>
<td class="weekend" id="TD_6" onDblClick="location.href('myurl.aspx?p=8&amp;e=0&amp;d=06-Mar-2011&amp;o=8&amp;v=A6OK');"></td>
    .
    .
    .
and so on until end of month
    .   
    .
    .
</tr>
    .
    .
    .
and a bunch more similar rows
    .
    .
    .
</table>    

当文档准备就绪时,我会对每个数据行执行一些操作,如下所示:

$('.DataRow').each(function(){  //do stuff  } );

当某个特定行的操作完成时,我希望隐藏该行中的“imgProgress”。 我在选择图像时遇到问题,因此我可以将其显示设置为“无”

目前我在这样的eloop中尝试它:

$(this).find(.imgProgress')attr('display', 'none');

我做错了什么?如何选择图像?

6 个答案:

答案 0 :(得分:1)

由于img有一个id 必须 在文档中是唯一的),请使用:

$('#imgProgress');

要从文档中删除它,您可以使用jQuery .remove()方法。

答案 1 :(得分:1)

以下内容应该有效:

$('#imgProgress').css('display','none');

答案 2 :(得分:1)

您的所有单元格都有一个看起来不唯一的ID。将每个TD中的ID附加到类而不是ID。

然后:

$(this).children('.TD_Name').children('img').css('display', 'none'); //where "this" is the TR object

答案 3 :(得分:1)

如果您在$("#imgProgress", this)

上执行jQuery,

$(this).find("#imgProgress")<td>会选择imageProgress ID

或者将“this”更改为表格行的ID / Class。

答案 4 :(得分:1)

<强> HTML

使用class="imgProgress"代替

<强> JS

将其更改为

$(this).find('.imgProgress').hide();

答案 5 :(得分:1)

好的一件事。不要在DOM中重复ID是一个坏主意,jquery只找到具有该id的某个选择器的第一个。

如果您使用某个tr的函数,则可以更改该tr中的img(使用类):

$('.DataRow').each(function(){ 
    //something in the tr...
    $($(this).children('td')[0]).children('.imgProgress').hide();
    //all done and hide this tr's img (in the 1st td)
})