문제

제목에 따라; 유효한 HTML에 중첩 된 주석을 가질 수 있습니까? 아래 예제를 참조하십시오 ...

<p>some text</p>

  <!-- comment 1

    <p>commented out html</p>

    <!-- comment 2

      // are nested html comment allowed?

    end of comment 2 -->

    <p>more commented out html</p>

  end of comment 1 -->

<p>some more text</p>

그렇지 않은 것 같습니다. 아무도 내가 어떻게 중첩 된 의견을 작동시킬 수 있는지 아는 사람이 있습니까?

도움이 되었습니까?

해결책

주석을 둥지하면 "-"--- "를 대체하십시오. 당신이 가장 신경 쓰지 않으면 절차를 뒤집습니다. 그것은 아닙니다 <!-- 그것은 금지되어 있지만 --.

예시:

<!-- some stuff
<!- - some inner stuff - ->
<!- - a sibling - ->
the footer -->

다른 팁

tl; dr: 불행히도, 아뇨, 불가능합니다 (그리고 결코 그렇지 않을 것입니다).

짧은 대답:

HTML 의견은 많은 사람들이 생각하는 것이 아닙니다. HTML은 SGML의 한 형태이며, 여기서 댓글은 한 쌍의 이중-돌기에 의해 구분됩니다 (-- … --).

따라서, 개구부 브래킷 후 느낌표가있는 각도 괄호 안에있는 이중 보석 쌍 (<! ---- >)는 의견입니다. 사양은 내가 할 수있는 것보다 더 잘 말합니다. http://www.w3.org/tr/html4/intro/sgmltut.html#h-3.2.4

이것이 바로이 의견과 같은 의견입니다 (우리가 모두 한 번 또는 다른 시간에 끝났을 가능성이 있습니다 나쁜 아이디어:

<!-- ------------------ HEADER BEGINS HERE -------------------- -->

진실 : 위의 태그 오염으로 얼마나 많은 의견이 표현되는지 말하기에는 너무 게으르지 만 적어도 10입니다.

나는 게으른다 :이 소위 "댓글"은 실제로 10 개의 댓글, 댓글 외부의 3 개 단어 (예 : 불량 SGML), 그리고 종료되지 않은 주석의 시작으로 구성됩니다. 정말 엉망입니다 :

<!--1----2----3----4----5--
HEADER BEGINS HERE
--6----7----8----9----10-- -->

물론 그렇지 않습니다 상당히 간단한 것은 각 브라우저가 사양을 해석하기 위해 선택하는 방식의 차이로 인해 간단합니다.

다음은 설명하는 훌륭한 기사입니다.

    http://weblog.200ok.com.au/2008/01/dashing-into-trouble-why-html-comments.html

긴 대답 : 왜 우리가 잘못 이해 하는가

HTML과 함께 자란 우리 대부분 (SGML에 대한 SGML을 탐구하지 않고)은 문자열을 믿게되었습니다. <!-- 주석과 문자열을 시작합니다 --> 댓글을 종료합니다.

실제로, <! 그리고 > HTML 문서 내에서 SGML 선언을 설명하십시오. 이내에 SGML 선언, 의견은 이중-돌리에 의해 구분됩니다. 따라서 HTML 주석

<!-- this is a comment -->

우리 대부분이 믿을 수있는 것은 이렇게 구문 분석됩니다. <!-- 이것은 의견입니다 --> 실제로 다음과 같이 구문 분석됩니다.
<!-- 이것은 의견입니다 -->. 의견을 제외하고는 비어있는 SGML 선언입니다.

HTML은 SGML의 한 형태이기 때문에이 "주석을 사용하여 설명"은 HTML 주석으로 기능합니다.

관심이없는 것은 다음은 SGML에서 의도 한대로 작동하는 주석을 보여주는 순수한 SGML 덩어리가 있습니다.이 속성 목록 정의는 각 줄에 대한 주석을 포함합니다.

<!ATTLIST LINK
  %attrs;                              -- %coreattrs, %i18n, %events --
  charset     %Charset;      #IMPLIED  -- char encoding of linked resource --
  href        %URI;          #IMPLIED  -- URI for linked resource --
  hreflang    %LanguageCode; #IMPLIED  -- language code --
  type        %ContentType;  #IMPLIED  -- advisory content type --
  rel         %LinkTypes;    #IMPLIED  -- forward link types --
  rev         %LinkTypes;    #IMPLIED  -- reverse link types --
  media       %MediaDesc;    #IMPLIED  -- for rendering on these media --
>

할 수 없습니다. --> 항상 기존 HTML 주석을 종료합니다.

사용 template 꼬리표. 모든 주석 및 기타 HTML이 표시되는 것을 차단하는 가장 빠른 방법입니다.

<template>
    <!-- first paragraph-->
    Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    <!-- second paragraph-->
    Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</template>

    <!-- third paragraph-->
    Ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.sunt in culpa qui officia deserunt mollit.

댓글이 포함되어있는 일부 HTML (HTML) (HTML) (HTML)에 사전 렌더링 된 경우, 주석이 포함되어 있으면 페이지에 렌더링되지 않도록해야합니다. script 아래와 같이 태그, 유일한 것은 댓글을 달 수 없습니다. script 이런 방식으로 태그.

<p>some text</p>

<!-- multiline "comment" below using script type="text/html" -->
<script type="text/html">

  <p>commented out html</p>

  <!-- comment 2

      // are nested html comment allowed?

    end of comment 2 -->

  <p>more commented out html</p>

</script>

<p>some more text</p>

댓글을 달아야한다면 script 태그, 당신은 a를 사용할 수 있습니다 textarea 대신 래퍼로서, 이런 식으로 코스를 벗어나면 댓글을 달 수 없습니다. textarea 태그.

<p>some text</p>

<!-- multiline "comment" below using textarea style="display:none;" -->
<textarea style="display:none;">

  <script>  

    alert("which won't show up..");  

  </script>

  <p>commented out html</p>

  <!-- comment 2

      // are nested html comment allowed?

    end of comment 2 -->

  <p>more commented out html</p>

</textarea>

<p>some more text</p>

일부 편집자는 텍스트 블록에서 기존 주석을 자동으로 처리 할 수있는 주석/무책임 명령을 가지고 있습니다. Visual Studio EG는 CTRL+KC 및 CTRL+KU를 누를 때 그렇게하고 있습니다.

나는 그것이 허용되지 않는다고 생각하지만, 내가 아는 한, 그것은 Firefox를 제외한 대부분의 주요 브라우저에서 작동합니다.

이것을 사용해보십시오

<!-- 

이것은 주석의 시작입니다

<%-- this is another comment --%>

<%-- this is another one --%>

--> 의견의 끝.

이 시도

<p>some text</p>
<comment> comment 1
<p>commented out html</p>
<!-- comment 2
  // are nested html comment allowed?
end of comment 2 -->
<p>more commented out html</p>
end of comment 1 </comment>
<p>some more text</p>

자동으로 변환하여 중첩 된 주석을 가짜로 만드는 A 첨가물 <!--...--> 에게 <!~~...~~> 그런 다음 해당 전체 섹션을 언급합니다. 그것은 당신이 그것을 켜고 끄는 것을 할 수있게합니다.

중첩 작품

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top