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

edz*_*ion 10 jquery radio-button

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

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

<label for="zone_r1"><input type="radio" name="zone" id="zone_r1" value="NY" />New York</label>
Run Code Online (Sandbox Code Playgroud)

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

$('#zone_r1').hide();
Run Code Online (Sandbox Code Playgroud)

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

<input id="NY" type="radio" name="zone" value="NY" /><span id="nyTXT">New York</span>
Run Code Online (Sandbox Code Playgroud)

$('#NY').hide();
$('#nyTXT').hide();
Run Code Online (Sandbox Code Playgroud)

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

ckr*_*mer 24

我认为这对你有用

$("label[for=zone_r1],#zone_r1").hide();
Run Code Online (Sandbox Code Playgroud)

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


cob*_*bal 14

$('#zone_r1').parent().hide();
Run Code Online (Sandbox Code Playgroud)

适合我