2013-08-07 3 views
0

ID가 고유하다는 것을 알고 있지만 빠른 질문이 있습니다.HTML로 이것을하는 것이 잘못 되었습니까?

다른 요소에 동일한 ID 이름을 사용할 수 있습니까? 예를 들어, 내가 할 수 :

input#idname a#idname

... 등? 동일 ID, jQuery를 자신의 요소 태그에 의해 내가 그들에게 전화로 너무 오래 다른 요소 :

$("a#idname") $("input#idname")

등?

감사합니다.

+11

HTML의 모든 규칙을 위반해도 페이지 렌더링이 가능합니다. –

+2

아니요, HTML에서는 그렇게 할 수 없습니다. 는 여기에 읽기 : http://stackoverflow.com/questions/5611963/can-multiple-different-html-elements-have-the-same-id-if-theyre-different-types를 당신이 그것을 할 수 –

+3

, 그러나 당신은 그것을해서는 안됩니다. – j08691

답변

5

ID는 고유해야하며 ID는 웹 페이지에 한 번만 존재해야합니다. 귀하가 ID를 사용하는 요소는 귀하의 경우에 부적합합니다.

1

각 요소마다 고유 한 ID를 사용합니다. CSS 및 DOM은이를 사용하여 요소를 식별합니다. 중복 ID는 몇 가지 오류를 생성 할 수 있습니다. W3C 가입일

:

id 속성은 HTML 요소 (HTML 문서 내에서 고유해야 값 )에 대한 고유 ID를 지정한다.

id 속성은 스타일 시트의 스타일 ( )과 JavaScript (HTML DOM을 통해)를 사용하여 특정 ID로 요소를 조작하는 데 가장 많이 사용됩니다.

2

귀하의 문서가 유효하지 않은 경우. 그러나 유효성에 대한 배려가 필요한 이유가 있습니다. 문서가 부합하지 않으면 자바 스크립트가 원하는대로 처리 할 수 ​​있다고 보장 할 수 없습니다.

HTML5는 document.getElementById(id)이 주어진 ID로 첫 번째 요소를 반환한다고 말합니다. 난 querySelectorAll (jQuery가 할 수있을 때 사용하는)이 그것과 다르게 중복 ID를 처리해야한다는 것을 보지 못했고, HTML 5 이전에는 어쨌든 동작이 완전히 정의되지 않았습니다.

호환성을 유지하고 JS를 단순하게 유지하려면 ID를 고유하게 유지하십시오.

관련 문제