2017-01-18 9 views
0

headタグ内に2つのコメントタグがあります。私は2番目のコメントだけのコメントを外したいと思います。Jqueryは、先頭のタグ内の2番目の子のコメントを外します。

var x = "<html><head><!-- <#if> I don't want any change </#if> --><!-- <#if>I want to uncomment </#if> --></head></html>"; 

$(x).contents().each(function(index, node) { 
    if (node.nodeType == 8) { 
     $(node[0]).replaceWith(node.nodeValue); 
    } 
}); 

alert(x); 

出力は次のようになります。

<html> 
<head> 
    <!-- <#if> I don't want any change </#if> --> 
    <#if> I want to uncomment </#if> 
<head> 
</html> 
+0

あなたが実際に達成するために何をしようとしていますか?私には、ページがすでに読み込まれた後でページヘッダーを編集しようとすると、あなたがやっていることは何でも最高のアプローチではありません。 –

+0

これはxy-problemのように聞こえますが、コメントには何がありますか? – Teemu

+0

可能性のある複製[this](http://stackoverflow.com/questions/15553531/jquery-comment-uncomment-element) –

答えて

0

おそらく

var x = document.getElementsByTagName("head")[0].innerHTML; 

var parts = x.split("<!-- "); 
parts[2]=parts[2].replace(" -->",""); 
parts[1] = "<!-- " + parts[1]; 
document.getElementsByTagName("head")[0].innerHTML=parts.join(""); 
+0

'x'はhtml文字列を含んでいます。変数xからheadタグを対象にして、それを行うことは可能ですか? – Sahil

+0

最初のステートメントの代わりに文字列を使用するだけです – mplungjan

関連する問題