HTML에서 ID와 NAME의 차이점에 대한 자세한 설명

高洛峰
풀어 주다: 2017-03-12 18:04:15
원래의
1463명이 탐색했습니다.

웹 개발을 해본 거의 모든 사람들이 요소의 ID와 이름의 차이점이 무엇인지 물어봤다고 할 수 있습니다. ID가 있는데 왜 이름이 필요한가요?! 그리고 가장 고전적인 대답도 얻을 수 있습니다. ID는 사람의 ID 번호와 같고 이름은 ID와 같으며 이름은 반복 가능합니다.

지난주에도 ID와 이름 문제가 발생했습니다. 페이지에 입력 유형을 "hidden"으로 입력하고 ID='SliceInfo'만 입력한 후 요청을 제출하고 사용하세요. Params["SliceInfo"]는 값을 가져올 수 없습니다. 나중에 갑자기 Name으로 표시해야 한다는 것을 깨달았기 때문에 입력에 Name='SliceInfo'를 추가했는데 모든 것이 정상이었습니다.

첫 번째 단락의 ID 및 이름에 대한 답변은 물론 ID에 대한 설명이 완전히 맞습니다. 클라이언트측의 HTML 요소 입니다. Name은 실제로 훨씬 더 복잡합니다. Name은 용도가 다양하고 ID로 완전히 대체할 수 없으므로 취소됩니다. 구체적인 용도는 다음과 같습니다.

목적 1: 입력, 선택, 텍스트 영역 및 버튼과 같이 서버와 상호 작용할 수 있는 HTML 요소의 서버측 표시기로 사용됩니다. 서버 측 이름을 기반으로 Request.Params를 통해 요소가 제출한 값을 얻을 수 있습니다.
사용 2: HTML 요소 입력 유형='라디오' 그룹화, 라디오 버튼 컨트롤 이 동일한 그룹화 클래스에 있고 확인 작업이 뮤텍스이며 동시에 하나의 라디오만 선택할 수 있음을 알고 있습니다. 이때, 이 그룹핑은 동일한 Name속성을 기반으로 구현됩니다.
목적 3: 페이지에 앵커 를 만듭니다. Bottom">> 목적 4: Applet, Object, Embed 및 기타 요소와 같은 Object의 정체성. 예를 들어 Applet 객체 인스턴스에서는 이름을 사용하여 객체를 참조합니다.
목적 5: IMG 요소와 MAP 요소를 연결할 때 IMG의 핫스팟 영역을 정의하려면 해당 속성인 usemap을 사용해야 하므로 usemap="# name"(요소의 연관된 MAP 이름).
목적 6: 속성, 메타, 매개변수 등 특정 특정 요소의 속성. 예를 들어, 객체에 대해 또는 메타에서

물론 이러한 용도는 단순히 ID로 대체할 수 없으므로 HTML 요소의 ID와 이름의 차이는 ID 번호와 이름의 차이가 아닙니다.

물론 HTML 요소의 Name 속성도 페이지에서 ID 역할을 할 수 있습니다. DHTML 개체 트리에서 document.getElementsByName을 사용하여 페이지의 모든 요소를 ​​포함하는 목록입니다. 이름 요소를 지정하는 개체 배열입니다. Name 속성에는 또 다른 문제가 있습니다. Name 속성을 포함할 수 있는 요소를 동적으로 생성할 때 단순히 name 속성을 추가하기 위해 element.name = "..."을 사용할 수는 없습니다. 요소를 생성하면 '') 요소에 Name 속성이 추가됩니다. 이것은 무엇을 의미합니까? 이해하려면 아래 예를 살펴보십시오.

메시지 상자에 표시되는 결과는 입니다.

메시지 상자에 표시되는 결과는 입니다.

Name 속성을 초기화하는 디자인은 MSDN에서 이렇게 해야 한다고 해서 IE의 결함은 아니지만, 이 디자인의 원리는 무엇인가요? 나는 아직 명확하게 생각하지 않았습니다.

그런데 페이지에 동일한 ID를 가진 n(n>1) 개의 HTML 요소가 있으면 어떻게 될까요? DHTML 개체에서 이를 참조하는 방법은 무엇입니까? ASPX 페이지를 사용하는 경우 aspnet 프로세스는 aspx 페이지를 처리할 때 고유하지 않은 ID를 허용하지 않기 때문에 이러한 상황이 발생하기 쉽지 않습니다. 이는 페이지에서 예외가 발생하고 정상적으로 렌더링될 수 없음을 의미합니다. 동적 페이지가 아니고 ID를 반복해야 한다면 IE는 어떻게 해야 할까요? 현재로서는 document.getElementById를 사용하여 객체를 얻을 수 있지만, ID가 중복된 객체 중 HTML Render 중에 나타나는 첫 번째 객체만 얻을 수 있습니다. 이때, 반복되는 ID는 참조 시 자동으로 배열이 되며, 반복되는 ID를 가진 요소들은 Render 순으로 배열에 존재하게 됩니다.


위 내용은 HTML에서 ID와 NAME의 차이점에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿