hide () 라디오 버튼 * 및 * jQuery의 텍스트 레이블
-
22-07-2019 - |
문제
접근성 문제를 분류하는 최근 프로젝트로 돌아가서 모든 양식 요소에 레이블이 있는지 확인하고있었습니다. 레이블 텍스트를 태그에 넣으면 이전에 작성한 일부 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();
당신은 이것을 할 수 있습니다 :
1.) 주변 레이블없이 라디오 버튼 입력을 정의하십시오.
2.) "옵션 텍스트"(라디오 오른쪽의 텍스트)를 a. <span>
.
3.)이 jQuery 문을 사용하십시오. $("input:radio:not(:checked), input:radio:not(:checked) + span").hide();
라디오 버튼과 라디오 오른쪽의 텍스트를 선택하고 숨 깁니다.
값에 따라 라디오 버튼 컨테이너 또는 TD를 숨기고 있습니다
jQuery ( "입력 [type = radio] [value = 'eu2']). parent (). hide ();