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

时间:2009-03-13 17:09:12

标签: jquery radio-button

我将回顾最近解决可访问性问题的项目,并确保所有表单元素都有标签。将标签文本放入标签会导致我之前写过的一些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,它可能无法验证标签中的跨度,但也许我过于热心。

7 个答案:

答案 0 :(得分:23)

我认为这应该对你有用

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

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

答案 1 :(得分:13)

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

适合我

答案 2 :(得分:2)

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

怎么样?

答案 3 :(得分:2)

对于第一个单选按钮,您可以隐藏实际按钮,然后隐藏parent

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

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

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

答案 4 :(得分:0)

你可以这样做:

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

2.。)在<span>中包装“选项文字”(单选按钮右侧的文字)。

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

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

答案 5 :(得分:0)

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

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

请参阅my jsFiddle example

答案 6 :(得分:0)

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

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