[javascript] HTML ID의 실제 최대 길이는 얼마입니까?

HTML 사양은 말한다

ID와 NAME 토큰 문자로 시작한다 ([A-ZA-Z])과이어서 수있다 임의의 수 문자, 숫자 (0-9), 하이픈 ( “-“), 밑줄 ( “_”) , 콜론 ( “:”) 및 마침표 ( “.”).

그리고 HTML 4 의 SGML 선언 은 NAMELEN에 65536 값을 사용 하지만 “고정 된 제한을 피하십시오”라고 표시합니다.

그러나 브라우저, CSS 구현 및 JavaScript 툴킷은 지원하는 길이에 약간의 제한이 있어야합니다 . HTML / CSS / JS 애플리케이션에서 사용하기에 안전한 가장 작은 제한은 무엇입니까?



답변

그냥 테스트 : 1M은 모든 현대적인 브라우저에서 문자 작품 : Chrome1, FF3, IE7, Konqueror3, Opera9, Safari3.

더 긴 ID는 기억하기 어려워 질 수 있다고 생각합니다.


답변

나에게 실질적인 한계는 HTML / CSS로 작업하는 동안 머리에 저장할 수있는 ID의 길이입니다.

이 제한은 일반적으로 내가 일한 시간과 요소의 맥락에서 이름이 의미가 있는지에 따라 8 ~ 13 자 사이입니다.


답변

때로는 매우 긴 ID로 끝날 수도 있지만 정확한 목적과 일치하도록 일관되게 이름을 지정합니다.

예를 들면 …

<div id="page">
    <div id="primary-content"></div>
    <div id="secondary-content"></div>
    <div id="search-form-and-primary-nav-wrapper">
        <form id="search-form"></form>
        <ul id="primary-nav">
            <li id="primary-nav-about-us"></li>
        </ul>
    </div>
    <a id="logo"><img /></a>
</div><!-- /#page -->

보시다시피 선택기는 때때로 꽤 길다. 그러나 #doc, #bd, # yui-main 등과 같은 ID로 끝나는 YUI grids.css와 같은 작업보다 IMHO가 훨씬 쉽습니다.


답변

이것이 학문적 질문이라면 꽤 흥미 롭습니다 …하지만 모범 사례에 관한 한 이러한 질문을 확장 할 필요가 없습니다. HTML 요소에 대한 데이터를 저장해야하는 경우 DOM 개체의 속성에 넣는 것이 좋습니다.


답변