繁体   English   中英

获取 HTML 注释标签内的文本?

[英]Get text inside HTML comment tag?

我有以下 HTML:

<!--
<option value="HVAC">HVAC</option>
<option value="Cooling">|---Cooling</option>
<option value="Heating">|---Heating</option>
-->
....

我使用 jQuery 的 get 方法动态获取此文件并将其存储在名为load_types的字符串变量中。

如何去除 HTML 注释标签以及它们之外的所有内容? 我只想要内部 HTML:

<option value="HVAC">HVAC</option>
<option value="Cooling">|---Cooling</option>
<option value="Heating">|---Heating</option>

我尝试使用这里的解决方案,但没有任何工作正常——我只是将null作为匹配项。

谢谢您的帮助!

永远不要使用正则表达式来解析 HTML 您可以改用以下内容:

var div = $("<div>").html(load_types),
    comment = div.contents().filter(function() {
        return this.nodeType === 8;
    }).get(0);

console.log(comment.nodeValue);

演示: http : //jsfiddle.net/HHtW7/

您可以简单地获取注释所在父标签的 html 并执行.replace("<!--","").replace("-->", "")这将简单地删除注释标签和然后将此标记附加到其他某个父标记或替换您当前的标记或为其创建一个新的父标记并附加它。

这将允许您使用 jQuery 选择器来检索所需的数据。

 var comment = '<!-- <option value="HVAC">HVAC</option> <option value="Cooling">|---Cooling</option> <option value="Heating">|---Heating</option> --> '; jQuery("#juni").append("<select>"+comment.replace("<!--", "").replace("-->", "") + "</select>")
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="juni"></div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM