Скрытие div по условию
Есть такой код, скрывает элементы по условию совпадения класса и id
$("[id ^= Block1_][class = t-widget t-grid]").bind('DOMSubtreeModified', function(){
$("[id ^= Block2_][id $= CaptionContainer]").closest("tr").hide();
});
структура DOM
<div class="t-widget t-grid" id="Block1_d1db1ee2292a49628848ed859c574472_Tc1b6e30bm6c41m48fcm84b7mec17247d8e69" provider="00000000-0000-0000-0000-000000000000">
<div class="t-widget t-grid" id="Block1_d1db1ee2292a49628848ed859c574472_Tc1b6e30bm6c41m48fcm84b7mec17247d8e69__Block2_ac66d2b465a3464791cb5e3b1ed56294_5556_tbl" provider="00000000-0000-0000-0000-000000000000">
<tr class="t-no-data"><td colspan="3">Нет данных для отображения</td></tr>
<tr> <td> </tr>
class="t-no-data" может быть, а может и нет.
Как написать условие, что если в элементе Block2 есть tr с классом "t-no-data", то выполнить код вначале, и если нет - то ничего не делать.
Ответы (2 шт):
Автор решения: Константин
→ Ссылка
Могу предложить перебрать элементы и скрыть на ходу:
$('.t-widget').each(function (){
if($(this).attr('id').indexOf('_Block2_')>=0 && $(this).children('tr').hasClass('t-no-data'))
{
$(this).hide();
}
});