2012-05-31 2 views
33

확인란을 사전 선택하는 세 가지 구현을 보았습니다. 나는 그것이 "적절한"방법이라고 생각했기 때문에 checked = "checked"를 사용하기 시작했다. (결코 "checked"= "yes"를 좋아하지 않았다.) 좀 더 읽기 쉽고 JavaScript 코드를 작성하기가 쉽기 때문에 checked = "true"로 변경하려고 생각하고 있습니다. 이 같은 질문은 "disabled"= "disabled"대 "disabled"= "true"와 같은 다른 속성에도 적용됩니다. 일관성있는 한, 선호하는 접근 방식을 "사실"로 사용하고 있습니까? 당신이입력 체크 상자가 true 또는 선택 또는 예일 경우

<input type="checkbox" checked="checked" value="123" name="howdy" /> 
<input type="checkbox" checked="true" value="123" name="howdy" /> 
<input type="checkbox" checked="yes"  value="123" name="howdy" /> 
+0

에 의해 경고로, 확인, 비활성화, 읽기 전용 및 ISMAP 입력의 속성에 대한 유효한 값이 아닙니다 무엇 $ ('입력 [이름 = foo는]')에 대한. attr ('checked', true); 정말 $ ('input [name = foo]') 여야합니다. attr ('checked', 'checked')? – user1032531

답변

55

checkedchecked="checked"이 유효 감사드립니다. 다른 옵션은 브라우저의 오류 복구에 따라 다릅니다. 그들은 checked="no"checked="false" 어떤 그들은하지 않습니다 ... 기본 상태가 되지 않은로 설정됩니다 것을 의미로

checked="yes"checked="true" 특히 나쁜.

+4

[HTML 5 사양] (http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#boolean-attribute) –

+0

죄송합니다. 여기에 추가 할 예정입니다. $ ('input [name = foo]')는 무엇입니까? attr ('checked', true); 정말 $ ('input [name = foo]') 여야합니다. attr ('checked', 'checked')? – user1032531

+0

''jQuery (selector) .prop ('checked', true);'('attr'는 checked 속성을 처리하는 방법에있어서 일관성이 없으므로 관리자의 두뇌를 피해야합니다.) – Quentin

3

따라서 W3C 확인 된 입력 속성은 없거나 생략 될 수 있거나 값으로 "선택됨"일 수 있습니다. "true", "on", "yes"등과 같은 값을 허용하는 브라우저 구현에는 제한이 없기 때문에 다른 값을 무효화하지 않습니다. W3C에서 권장하는 브라우저 간 체크 박스/라디오를 작성하려면 checked = "checked"를 사용하십시오.

이 비활성화되면 readonly 및 ismap 입력의 속성은 동일한 방식으로 수행됩니다.

빈 편집을 할

@Quentin

+0

아니요. checked 속성을 생략 할 수도 있고 'checked'값을 가질 수도 있습니다. 그것은 다른 모든 값을 무효화합니다 (HTML은 허용되는 것을 사용할 수있게하며, 금지되지 않은 모든 것을 사용할 수는 없습니다). 부울 속성이므로 속성이있는 동안 값을 제외한 모든 것을 생략 할 수 있습니다. 즉'checked = "checked"를 지정하면 처음 9 자와 마지막 문자를 커밋 할 수 있습니다). – Quentin

+0

나는 이것이 다른 값들을 무효화하지 않는다고 말했다. ** 브라우저들은 생략되거나 생략 된 체크 된 속성을 받아들이거나, W3C에 의해 ** 체크 된 ** 체크 된 ** 체크 된 속성을 받아들이므로 원하는대로 HTML을 파싱하는 그들의 방법을 구현할 수있다. . 나는 negativation 'casue "empty"가 유효한 값이 아니라는 것을 인정하지만, 나머지는 여전히 적용됩니다. –

관련 문제