2012-04-27 53 views
3

如果條件爲真,但似乎無法使其工作,則嘗試將類應用於子元素的父元素。簡而言之,我想檢查一個數字爲「0」的單元格的表格並隱藏其父行。如果條件爲真,則將類添加到父元素

我創造了什麼我已經做了基本的jsfiddle:http://jsfiddle.net/immbudden/YbZPE/3/

而且我已經把jQuery的的片段:

if ($('#the_table>table>td:contains("0")').length === 1) { 
    $(this).parent("tr").addClass("hidden"); 
} 

我仍然在學習jQuery和JavaScript和這可能是小東西,但我似乎無法把它放在手指上!

任何幫助將非常有義務,提前致謝!

+0

你究竟想要做什麼? – 2012-04-27 03:13:41

+0

找到任何確切數量正好爲零(0)的單元格並隱藏它們的父行 – Michael 2012-04-27 03:16:11

回答

4
$('td', '#the_table > table').each(function() { 
    if ($(this).text() === '0') { 
     $(this).parents("tr").addClass("hidden"); 
    } 
}); 

FIDDLE

+0

感謝兄弟們,我認爲你最適合我想要做的事情,我只是不確定如何寫入'$(this)',非常感謝! – Michael 2012-04-27 03:29:36

+0

不客氣! – adeneo 2012-04-27 03:36:00

1

使用瀏覽器的開發人員工具!或Get Firebug

裝入了該網頁,請嘗試以下的javscript控制檯:

$('#the_table>table>td:contains("0")') 

如果給你

[ ] 

那麼它沒有找到任何元素。然後,你可以試着將它分解,例如,看看,如果這個工程:

$('#the_table>table>td') 

並保持取出,並補充說,表達的位,直到它產生truefalse根據您的需要。

+0

感謝您的建議夥計,我在開發工具中嘗試了一些東西,並且因此而感到沮喪。 – Michael 2012-04-27 03:34:19

1

,你可以像這樣做,

$('#the_table table td').filter(function (index) { 
    return $(this).text() == '0'; 
}).parent("tr").addClass("hidden"); 

http://jsfiddle.net/YbZPE/5/

+0

感謝輸入的老兄,@ adeneo的解決方案對我來說是最適合的,它通過循環遍歷每一個。不管怎麼說,還是要謝謝你! – Michael 2012-04-27 03:32:53

+0

Upvoted這個,因爲它是正確的和工作! – adeneo 2012-04-27 03:36:20

1

首先,你必須得到德小區,如果你想第一次使用情商(0):

$cell = jQuery('#the_table tr td:eq(0)'); 

那麼你必須把類的父行:

$cell.parent("tr").addClass("hidden"); 

下面的代碼將做到這一點。

jQuery('#the_table tr td:eq(0)').parent("tr").addClass("hidden"); 
+0

謝謝你的答案,@ adeneo爲我提供了最好的解決方案,謝謝! – Michael 2012-04-27 03:31:06

相關問題