문제

접근성 문제를 분류하는 최근 프로젝트로 돌아가서 모든 양식 요소에 레이블이 있는지 확인하고있었습니다. 레이블 텍스트를 태그에 넣으면 이전에 작성한 일부 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를 사용하는 것을 선호하지 않으며 라벨의 스팬으로 검증되지 않을 수도 있지만 지나치게 열광적 일 수도 있습니다.

도움이 되었습니까?

해결책

$('#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.) "옵션 텍스트"(라디오 오른쪽의 텍스트)를 a. <span>.

3.)이 jQuery 문을 사용하십시오. $("input:radio:not(:checked), input:radio:not(:checked) + span").hide();

라디오 버튼과 라디오 오른쪽의 텍스트를 선택하고 숨 깁니다.

부모에 '레이블'선택기를 넣으십시오.

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

보다 내 jsfiddle 예제

값에 따라 라디오 버튼 컨테이너 또는 TD를 숨기고 있습니다

jQuery ( "입력 [type = radio] [value = 'eu2']). parent (). hide ();

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top