2009-12-08 2 views
1

я этоСкрыть строку ... из колонки

<table> 
<tr> 
    <td>...</td> 
    <td>...</td> 
    <td class="Data">...</td> 
</tr> 
<tr> 
    <td>...</td> 
    <td>...</td> 
    <td class="noData">...</td> 
</tr> 
<tr> 
    <td>...</td> 
    <td>...</td> 
    <td class="noData">...</td> 
</tr> 
</table> 

с JQuery, когда ряд (т.р.) имеет столбец (TD) с классом «NoData», я хотел бы скрыть полный Роу результат на этой таблице будет

<table> 
<tr> 
    <td>...</td> 
    <td>...</td> 
    <td class="Data">...</td> 
</tr> 
</table> 

Спасибо,

ответ

4

Вы можете попробовать ниже код:

$(document).ready(function() 
{ 
    $("td.noData").parent().hide("fast"); 
}); 

Или вы можете использовать удалить() вместо шкурой() выше или даже ниже код:

$(document).ready(function() 
{ 
    $("td.noData").parent().css('display':'none'); 
}); 
+0

Вы также можете сделать $ ("td.noData"). Parent(). Hide(); чтобы скрыть строку сразу. (то же, что и во втором примере) –

+0

благодарит за разницу Kyle – Sarfraz

+0

Мне понравилось бы это для определенного div, чем я нахожу это $ ("[id * = mydiv]") –

1

Чтобы получить список ТР, которые содержат ТД без данных просто позвонить:

$("tr:has(> td.noData)") 

После того, как вы есть, что это тривиально, чтобы скрыть его (просто добавьте .hide() до конца).

Соответствующие селекторы представляют собой селектор Has и селектор parent>child.

2

В то время как решение sarfraz работает, я думаю, что этот код делает более близким аналогом описание проблемы, что является хорошей вещью для удобочитаемости и более позднего понимания.

$("tr:has(>td.noData)").hide(); 
+0

fyjham избил меня на простые секунды;) – jpsimons

Смежные вопросы