2010-04-22 59 views
1

我試圖隱藏這個複選框,這是一個檢查我的表頭中的所有複選框,使用jQuery,但沒有太多的運氣。如何隱藏=「x01」的標籤使用jQuery的複選框

我試圖從用戶隱藏部分的查看源代碼如下:

<th class="t12subheader" id="CHECK$01"><label for="x01" class="hideMe508">Check All</label><input type="checkbox" name="x02" value="1" onclick="checkAll(this)" /></th> 

我曾經嘗試都:

$('#x01, label[for="x01"]').hide(); & 
$('#x01').hide(); 

無濟於事。

任何幫助使用jQuery將不勝感激。

另外,隱藏這個盒子的位置是否重要?

謝謝。

回答

5

你的標籤隱藏是好的,但該複選框將無法正常工作,因爲它沒有id="x01",至少在你粘貼代碼。它確實name="x02"所以你可以找到/經由隱藏它,就像這樣:

$('input[name="x02"], label[for="x01"]').hide();​ 

我猜你的意思是標籤去與輸入,在這種情況下,該複選框應該有一個匹配id到標籤的for,就像這樣:

<input type="checkbox" id="x01" name="x02" value="1" onclick="checkAll(this)" /> 

那麼你的選擇是:

$('#x01, label[for="x01"]').hide(); 
+0

謝謝你,感謝你尼克 - 你的第一種方法奏效。 – tonyf 2010-04-23 00:29:33

0

for屬性不計爲id。給你的標籤自己的ID,像「x01_label」,然後你可以很容易地隱藏它。

如果您從中刪除#x01,您的第一次嘗試可能會奏效。代碼示例中沒有任何內容,其ID爲x01。請選擇label[for="x01"]。如果不是,那麼嘗試一下id的東西。

+0

第一個是穆爾tiple選擇器,它應該解析匹配由','分隔的選擇器的元素 - 因此從其中移除'#x01'應該沒有什麼區別。 – 2010-04-22 15:07:33

0

從代碼看來你試圖隱藏標籤。做到這一點$("label.hideme508").hide(); 不知道什麼是類hideme508,但它應該工作。

0

$('#CHECK$01,label[for="x01"]').hide();應該工作。您labelCHECK$01的孩子,而不是x01

相關問題