Как выбрать изображение в строке таблицы? - PullRequest
0 голосов
/ 16 марта 2011

У меня есть таблица на странице примерно так:

<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» в этой строке. У меня возникают проблемы при выборе изображения, чтобы я мог установить его отображение на «none»

В настоящее время я пробую это в eloop вот так:

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

Что я делаю не так? Как я могу выбрать изображение?

Ответы [ 6 ]

1 голос
/ 16 марта 2011

хорошо, с одной стороны.не повторять идентификаторы в DOM - плохая идея, и jquery находит только 1-й из определенного селектора с этим идентификатором.

, если вы находитесь в функции для определенного tr, вы можете изменить img в этом tr (с помощьюклассы):

$('.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)
})
1 голос
/ 16 марта 2011

HTML

Используйте class="imgProgress" вместо

JS

Измените его на

$(this).find('.imgProgress').hide();
1 голос
/ 16 марта 2011

$("#imgProgress", this) или $(this).find("#imgProgress") выберет ID imageProgress, если вы выполняете JQuery на <td>

или измените «this» на ID / Класс вашей строки таблицы.

1 голос
/ 16 марта 2011

У всех ваших ячеек есть идентификатор, который не выглядит уникальным.Добавьте этот идентификатор в каждом TD к классу вместо идентификатора.

Затем:

$(this).children('.TD_Name').children('img').css('display', 'none'); //where "this" is the TR object
1 голос
/ 16 марта 2011

Должно работать следующее:

$('#imgProgress').css('display','none');
1 голос
/ 16 марта 2011

Поскольку img имеет id (который должен быть уникальным в документе), используйте это:

$('#imgProgress');

Чтобы удалить это из документа, вы можете использовать метод jQuery .remove().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...