이름 속성은 HTML 문서에서 고유해야합니까?
id
특성과 특성 이 모두 name
동일한 네임 스페이스를 공유하고 고유해야 한다는 사양을 읽은 것을 기억 합니다. 이제부터 나는 항상 같은 줄도 두려워, 내 응용 프로그램에서 이러한 요구 사항을 충족하기 위해 노력했습니다 id
과 name
같은 요소에 있습니다.
하지만 최근에 저는 ASP.NET MVC 3로 작업하기 시작했으며, PHP와 같이 name
여러 입력 컨트롤 에서 동일한 속성을 사용하여 서버 측에서 값 모음을 형성 할 수 있습니다. 사양에서 관련 섹션을 찾아 보려고했지만 찾지 못했습니다. 아마도 내가 뭔가를 오해했거나 잘못된 문서를 읽었 을까요?
그럼 어때? 가능한 한 유효한 HTML을 만들고 싶습니다 (다른 앱에서 4.01과 5 모두). 이 트릭을 두려움없이 사용할 수 있습니까? 아니면 내가 무언가를 위반하고 고유 한 가치를 고수해야합니까?
name
속성은에서만 유효 <form>
과 폼 요소 ( <input>
, <textarea>
및 <select>
). name
양식 게시물에 제출 된 이름 / 값 쌍과 연결할를 지정하는 데 사용됩니다 .
예를 들면 :
<input type="checkbox" name="foo" value="1" />
선택하면 제출 foo=1
합니다. DOM 에서를 인덱스로 form.elements
지정하여 컬렉션의 양식 요소를 참조 할 수 있습니다 name
. name
이 고유하지 않은 경우 컬렉션은 요소가 아닌 요소의 배열을 반환합니다. Modern DOM의 지원은 다음과 같이 이름으로 양식 요소를 조회합니다.
document.getElementsByName(nameValue)
참고 : 요소가 하나만 발견 된 경우에도 항상 배열을 반환합니다.
id
속성은 XML 세계에서 왔으며 양식 요소뿐만 아니라 모든 노드에 대한 고유 ID입니다. name
속성 과 달리 모든 HTML 노드에서 유효합니다. 또한 name
속성 과 마찬가지로 유효한 식별자 규칙을 따라야합니다. 식별자는 알파로 시작해야하며 알파 ( [a-zA-Z]
), 숫자, 하이픈, 밑줄 및 콜론 만 포함 해야합니다 (ASP.NET은 예약 된 ID를 밑줄로 시작하여이 규칙을 위반하므로 항상 HTML / XML lint가 실패합니다. 일부 프록시는이를 제거합니다). HTML 요소를 찾으려면 id
다음을 사용하십시오.
document.getElementById(idvalue)
이것은 하나의 DOM 노드 만 반환합니다.
name
속성은 고유하지 않습니다. 예를 들어 라디오 버튼을 그룹화하는 데 사용됩니다. 특정 양식 속성의 값을 나타냅니다. id
은 고유해야합니다.
ID는 고유해야하지만 동일한 NAME으로 여러 양식 요소를 사용할 수 있습니다. 이것은 라디오 버튼이 작동하는 방식에 대한 표준이므로 라디오 버튼 그룹 중 하나를 강제로 선택할 수 있습니다.
'development' 카테고리의 다른 글
Dotfuscator Community Edition은 얼마나 좋은가요? (0) | 2020.12.25 |
---|---|
주석 (#)은 Vim의 삽입 모드에서 줄 시작으로 이동합니다. (0) | 2020.12.25 |
C / C ++ 소스로 컴파일되는 프로그래밍 언어? (0) | 2020.12.25 |
angular-loader.js는 무엇입니까? (0) | 2020.12.25 |
Xcode-LLDB 대상 생성 오류 (0) | 2020.12.25 |