繁体   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