簡體   English   中英

hide()單選按鈕*和*在jquery中的文本標簽

[英]hide() radio button *and* its text label in jquery

我將回顧一個最近解決可訪問性問題的項目,並確保所有表單元素都有標簽。 將標簽文本放入標簽會導致我之前寫過的一些kludgy代碼出現問題。

基本上,如果你有一個單選按鈕及其標簽:

<label for="zone_r1"><input type="radio" name="zone" id="zone_r1" value="NY" />New York</label>

並使用jquery隱藏它,如下所示:

$('#zone_r1').hide();

實際按鈕是隱藏的,但不是標簽文本。 最初我為標簽文本做了一個跨度,並隱藏了這樣:

<input id="NY" type="radio" name="zone" value="NY" /><span id="nyTXT">New York</span>

$('#NY').hide();
$('#nyTXT').hide();

有任何想法嗎? 我不喜歡使用kludge,它可能無法驗證標簽中的跨度,但也許我過於熱心。

我認為這對你有用

$("label[for=zone_r1],#zone_r1").hide();

這將選擇標簽,其中“for”屬性設置為您要查找的單選按鈕,以及單選按鈕本身,並將它們隱藏

$('#zone_r1').parent().hide();

適合我

怎么樣$('label:has(#zone_r1)').hide();

對於第一個單選按鈕,您可以隱藏實際按鈕,然后隱藏其父級

$('#zone_r1').hide().parent().hide();

對於第二種情況,您可以隱藏按鈕和“ 下一個 ”兄弟:

$('#NY').hide().next().hide();

你可以這樣做:

1.)定義沒有周圍標簽的單選按鈕輸入。

2.)在<span>包裝“選項文本”(單選按鈕右側的文本)。

3.)使用此jQuery語句: $("input:radio:not(:checked), input:radio:not(:checked) + span").hide();

這將選擇單選按鈕和單選按鈕右側的文本並將其隱藏。

只需將'label'選擇器放在父級中:

$(':radio[id=zone_r1]').parent('label').hide();

請參閱我的jsFiddle示例

根據值隱藏單選按鈕容器或TD

jQuery的( “輸入[類型=無線電] [值= 'EU2']”)的父()隱藏()。;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM