2017-01-18 2 views
0

У меня есть тег с двумя комментариями внутри тега заголовка. Я хочу раскомментировать только второй комментарий.JQuery раскомментирует второй ребенок внутри метки заголовка

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-проблема, что у вас есть в комментарии? – 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 и сделать материал? – Sahil

+0

Просто используйте свою строку вместо моего первого выражения – mplungjan

Смежные вопросы