2014-12-19 2 views
0

사용자 정의 HTML 요소를 정의하여 HTML의 특정 블록을 선언하려고합니다. 이 블록들은 jquery에 의해 발견 될 수 있습니다. 예를 들어 :사용자 정의 HTML 요소 호환성

<gcms-block id="1"> 
     ... 
    </gcms-block> 
    <script> 
     $(document).ready(function() { 
      $("gcms-block[id='1']").html("new content"); 
     }); 
    </script> 

gcms-block만 얻거나 블록의 내용을 설정하기위한 JQuery와 방법에 의해 사용 (내가 요소에 그런 스타일 또는 뭔가를 적용하지 않음)입니다. 내가 사용하는 CMS의 한계로 인해 나는 <div> 요소에 ID를 추가하고이를 사용하여 블록을 가져올 수 없습니다.

그래서이 방법은 여러 브라우저와 호환되는 경우 내 질문은 무엇입니까? 그리고 그렇지 않다면 이것을하는 더 좋은 방법은 무엇입니까?

+0

그래서 새로운 HTML 요소를 정의 할 수 있지만'div'에'id'를 사용할 수는 없습니다. 왜 그런가요? 그리고 구식 브라우저는 이것을 표현하지 않으며, 유효한 HTML이 아닙니다. – putvande

+0

CMS가 사용하는 템플릿 엔진 때문에 페이지의 블록을 렌더링하지만 모든 블록이 해당 ID로 해당 컨테이너를 둘러싸는 것은 아닙니다. 따라서 JQuery로 액세스하려면 모든 블록 템플릿 (100+ 이상)을 조정해야합니다. 또는 id 속성을 가진 gcms-block 태그를 렌더링 된 블록에 추가하기 만하면됩니다. –

답변

0

브라우저가 사용자 지정 요소를 지원하지만 사용자가이를 닫고 가장 좋은 방법으로 간주되지 않으면 브라우저가 "표준"을 위반하게됩니다.

CMS의 제한 사항으로 인해 제한을받는 경우에는 그럴 수 없습니다.

지원되지 않는 요소를 사용하는 경로를 이동하려는 경우 특수 문자를 제외하고 정의 된 html 요소처럼 형식을 유지하여 가능한 한 표준 요소에 최대한 가까이 배치 할 수 있습니다.

+0

사용자 정의 태그는 관리자 패널에서만 렌더링됩니다. 실제로 표준을 깨뜨린 것은 관리 패널 내부에서만 사용된다면 정말 중요할까요? –

+0

http://www.w3.org/html/wg/drafts/html/master/dom.html#elements –

+0

나쁜 습관으로 간주됩니다. 웹 페이지는 문제없이 렌더링되지만 유효한 html로 간주되지 않습니다 –

관련 문제