hide()单选按钮*和*在jquery中的文本标签

我将回顾一个最近的项目,整理出可访问性问题,并确保所有表单元素都有标签。 将标签文本放入标签会导致我之前写过的一些kludgy代码出现问题。

基本上,如果你有一个单选按钮及其标签:

 

并使用jquery隐藏它,如下所示:

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

实际按钮是隐藏的,但不是标签文本。 最初我为标签文本做了一个跨度,并隐藏了这样:

 New York 

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

有任何想法吗? 我不喜欢使用kludge,它可能无法validation标签中的跨度,但也许我过于热心。

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

适合我

我认为这对你有用

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

这将选择标签,其中“for”属性设置为您要查找的单选按钮,以及单选按钮本身,并将它们隐藏起来

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

对于第一个单选按钮,您可以隐藏实际按钮,然后隐藏其父级 :

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

对于第二种情况,您可以隐藏按钮和“ 下一个 ”兄弟:

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

你可以这样做:

1.)定义没有周围标签的单选按钮输入。

2.)在包装“选项文本”(单选按钮右侧的文本)。

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

这将选择单选按钮和单选按钮右侧的文本并将其隐藏。

只需将’label’选择器放在父级中:

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

请参阅我的jsFiddle示例

根据值隐藏单选按钮容器或TD

jQuery的( “输入[类型=无线电] [值= ‘EU2’]”)的父()隐藏()。;