我需要隱藏使用jQuery的HTML表格的一些列。我使用下面的代碼:jQuery的nth子選擇器問題
$('#my-table tr td:nth-child(7),th:nth-child(7)').hide()
的代碼工作,它的隱藏表的列,但不尊重表id選擇,它採用當前文檔中的所有表的變化。
我該如何改變才能使其按預期工作?
我需要隱藏使用jQuery的HTML表格的一些列。我使用下面的代碼:jQuery的nth子選擇器問題
$('#my-table tr td:nth-child(7),th:nth-child(7)').hide()
的代碼工作,它的隱藏表的列,但不尊重表id選擇,它採用當前文檔中的所有表的變化。
我該如何改變才能使其按預期工作?
你需要指定id
兩個選擇,否則th:nth-child(7)
它會隱藏每th:nth-child(7)
你可能在你的代碼
$('#my-table tr td:nth-child(7), #my-table th:nth-child(7)').hide()
您也可以通過使用find()方法
簡化這個$('#my-table tr').find('td:nth-child(7), th:nth-child(7)').hide()
編輯
如所指出的@A. Wolff這可以只使用這甚至更加簡化:
$('#my-table tr > :nth-child(7)').hide()
謝謝!,這與Darren上面提供的答案是一樣的。既然這是這個問題的第一個答案,我會在5分鐘之內接受它是正確的。對不起,SO時間限制。 –
難道不夠:$('#my-table tr:nth-child(7)')。hide()'?!因爲'tr'的孩子只能是'td'或'th'(或'template',但它不會顯示) –
@ A.Wolff是的,我會把它加到我的答案中,謝謝。 – dippas
您可以使用comma separated multiple selectors但它應該是完整的選擇。
$('#my-table tr td:nth-child(7),#my-table th:nth-child(7)')
或find()
方法具有多個內部元件選擇
$('#my-table tr').find('td:nth-child(7),th:nth-child(7)')
'$('#我的表TR TD:第n個孩子(7),#我的表個:第n個孩子(7)')' - 你必須每次都聲明外部ID,它不能猜到這就是你的意思 –
上面的評論很可能是你的問題。你錯過了第二個選擇器上的ID – Huangism
謝謝,它現在正在工作! @DarrenSweeney –