我有一個表中的行具有相互的自定義屬性。我想隱藏所有的表格行,除了使用jquery(或js)的父行。我怎麼能這樣做呢?如何使用jquery或js隱藏具有相同ID的所有錶行?
<table>
<tr group="1">Parent</tr>
<tr group="1">Child</tr>
<tr group="1">Child</tr>
<tr group="1">Child</tr>
</table>
編輯:哇大錯字對我來說,我非常抱歉,我的意思是自定義屬性。更新!
我有一個表中的行具有相互的自定義屬性。我想隱藏所有的表格行,除了使用jquery(或js)的父行。我怎麼能這樣做呢?如何使用jquery或js隱藏具有相同ID的所有錶行?
<table>
<tr group="1">Parent</tr>
<tr group="1">Child</tr>
<tr group="1">Child</tr>
<tr group="1">Child</tr>
</table>
編輯:哇大錯字對我來說,我非常抱歉,我的意思是自定義屬性。更新!
有了新的例子,它是可能使用jQuery的atribute equals
選擇器(here)。看看this tasty fiddle。
基本上,你的選擇,你需要這樣的:
$("table tr[group='2']").hide()
當然,這是定製的。最重要的一點是tr[group='2']
編輯
This updated fiddle應該工作。如果有人可以發佈更好的方式,請做。
它增加了對與此上面的行:
$("table tr[group='2']").filter(":not(:first)").hide();
這是目前我所擁有的,但我需要隱藏除父行之外的所有內容。 – 2011-06-16 22:34:28
太棒了,效果很好。 – 2011-06-16 22:45:30
沒問題:-)很高興我可以幫忙。 – Bojangles 2011-06-17 10:43:08
他們不能有相同的ID,ID標記必須是唯一的
,你可以簡單地使用:$("table tr:gt(0)").hide()
(這僅適用於如果你沒有嵌套表)
你應該不使用ID,只在元素在頁面上重複時使用類,因爲ID指的是唯一的,每個頁面只能使用一次。更換id
屬性class
,然後你可以使用此代碼:
$('table tr[group=1]').hide();
您無法有兩個HTML元素兩次使用相同的ID。此外,你不能用一個數字開始一個id。
如果你可以改變你的HTML標記使用類,這將是這樣的:
<table>
<tr class="one">Parent</tr>
<tr class="one">Child</tr>
<tr class="one">Child</tr>
<tr class="one">Child</tr>
</table>
然後,你會做這樣的:
$('.one').hide();
實際上,HTML與具有相同ID的多個元件是無效的。因此,您的代碼無效。 – Tadeck 2011-06-16 22:14:06
更新了我的文章。 – MacMac 2011-06-16 22:30:19
您的HTML仍然無效。 TR元素沒有組屬性,不能將文本作爲chlid節點,它們必須有TH或TD。 – RobG 2011-06-16 23:06:16