2015-01-16 4 views
2

모든 Google 웹 구성 요소 자습서에서 사용자 정의 요소에 대한 특정 명명 체계를 권장합니다. 그들이 권장하는 사실은 가독성을위한 것일 수도 있지만, HTML 요소가 맞춤식 또는 기본형인지 여부를 안정적으로 (프로그래밍 방식으로) 알려줄 수있는 방법이 있습니까? 예를 들어 중합체 요소 인데, 예를 들어 HTML Element이고 모두 올바른 특성을 갖습니다.기본 HTML 요소 사용자 정의 HTML 요소

답변

2

이상적으로 두 요소의 차이점을 말할 필요가 없습니다. 요소가 네이티브 HTML 요소처럼 모든면에서 작동해야합니다. 그러나 특정 이유로 특수하게 타겟팅해야하는 경우 이름에 하이픈을 포함하는 요소를 찾을 수 있습니다. 유효하도록 사용자 정의 요소에는 해당 하이픈 (예 : <my-element>)이 있어야합니다. 반면에 HTML5 스펙의 요소에는 해당 하이픈이 포함되어 있지 않습니다.

참고 : 나는 이것을 확인하기 위해 스펙을 검토하지 않았지만, 하이픈이 부족하다고 생각합니다.

+0

네 말이 맞아. 맞춤 요소 사양에서는 [맞춤 요소 유형 이름] (https://w3c.github.io/webcomponents/spec/custom/#dfn-custom-element-type)에 하이픈 문자가 포함되어 있어야합니다. 그것은 사용자 정의 요소를 구별하기에 충분하지 않을 수도 있지만, 요소의'tagName'에 하이픈이 없다면 사용자 정의 요소가 아님을 알 수 있습니다. –

+0

'document.createElement'는 주어진 엘리먼트 이름이 알려진 레지스트리 명 (문서 레지스트리의 네이티브 엘리먼트 또는 커스텀 엘리먼트)이 아니라면'HTMLUnknownElement'를 리턴한다는 것에주의하십시오. 빈 레지스트리로 새 문서를 만든 다음 지정된 태그 이름으로 새 요소를 만들 수 있습니다. 하이픈을 검사하는 것은 훨씬 덜 비싼 첫 번째 검사입니다. –