내 응용 프로그램에서 사용자의 브라우저가 HTML5-capable이고 입력 필드에 placeholders (Modernizr 사용)을 표시 할 수 있는지 확인합니다. 그렇다면 자동화 된 방식으로 HTML 문서에서 labels
을 모두 제거하려고하지만 실제로 어떻게해야할지 모릅니다. 평신도 측면에서JavaScript의 모든 레이블 요소 제거
, 사용자의 브라우저가 자리를 지원하는 경우,이를 설정하고 싶습니다 :이 -in마다 속으로
<label for="email">
Email:
</label>
<input type="email" id="email" placeholder="Your email">
는 occurrence- :
<input type="email" id="email" placeholder="Your email">
내가 가진 모든 것입니다 :
if (Modernizr.input.placeholder) {
// Remove all labels from the HTML document
}
지금까지 id
을 라벨에 할당하고 하나씩 삭제했지만 그것을하는 더 효과적인 방법 같이. 여기
$('label').remove();
예 - 효과 확인하기 위해 자바 스크립트 부분에 한 줄의 주석 :
당신이 jQuery를 사용으로 OK 경우
하지 마세요! 사양에서 * "자리 표시 자 속성을 레이블 대신 사용할 수 없습니다."* 레이블을 제거하면 사람들이 올바른 필드에 올바른 값을 넣었는지 확인할 수 없음을 의미합니다 (특히 auto - 완성), 화면 판독기를 사용하는 사람이 현장에 입력해야 할 내용을 알기가 극도로 어렵거나 불가능할 것입니다. 예를 들어 좋은 자리 표시자는 "귀하의 이메일"이 아닌 "[email protected]"이됩니다. – Quentin
@Quentin. 그것은 답이되어야합니다. 내가 그 대답을 upvote – Ben
@ 벤 - 나는 그것이 좋은 조언이라고 생각하지만, 그것은 질문에 대답하지 않습니다. – Quentin