1

などの HTML 要素内ではなく、特定の HTML コメントの後に HTML コードを挿入できるかどうか疑問に思っています<div>

<div id="OUTER"><div id="INNER">たとえば、次の最初のコメント タグの後に開始タグを挿入したいと思います。</div></div>2 番目のコメント タグの後の終了タグ。誰かがこれについて行く方法を知っていますか?

<!-- Insert Opening Tags Below -->


<div id="CONTENT">Page Content Here</div>


<!-- Insert Closing Tags Below-->

前もって感謝します。

エレナ

4

1 に答える 1

2

HTMLcommentには DOM 階層に独自の対応する Node があり、そのnodeTypeプロパティは8です。Firebug や Google Console などの DOM インスペクタでは表示されませんが、ページのソースを表示することで見つけることができます。要素が要素の子である場合は、次の方法でbodyフィルタリングできます。childNodes

$('body').contents().each(function(i, elem){
    if (elem.nodeType == 8) {
       // This is a Comment node
       // Comment { data=" Insert Closing Tags Below", length=26, nodeType=8, more...}
       // You can select all the next sibilngs of the first
       // Comment node including the second Comment Node 
       // and then wrap all of them 
    }
});

ブラウザはサーバーから送信されたドキュメントの初期バージョンのみを表示し、JavaScript を使用してドキュメントを操作してもソース ビューは変更されません。innerHTMLさらに、ドキュメントにノードを追加することしかできません。別の要素を操作していない限り、一部の文字列を DOM 要素として解析するために DOM に配置することはできません。要素をラップすることをお勧めし#CONTENTます:

$('#CONTENT').wrap('<div id="OUTER"><div id="INNER"></div></div>');

結果は次のとおりです。

<!-- Insert Opening Tags Below -->
<div id="OUTER">
   <div id="INNER">
      <div id="CONTENT">Page Content Here</div>
   </div>
</div>
<!-- Insert Closing Tags Below-->
于 2013-09-02T19:18:37.080 に答える