Javascript 获取HTML注释标记内的文本?
我有以下HTML:Javascript 获取HTML注释标记内的文本?,javascript,jquery,Javascript,Jquery,我有以下HTML: <!-- <option value="HVAC">HVAC</option> <option value="Cooling">|---Cooling</option> <option value="Heating">|---Heating</option> --> .... 我尝试使用,但没有正常工作——我只是得到了匹配的null
<!--
<option value="HVAC">HVAC</option>
<option value="Cooling">|---Cooling</option>
<option value="Heating">|---Heating</option>
-->
....
我尝试使用,但没有正常工作——我只是得到了匹配的null
谢谢你的帮助 请。您可以改为使用以下选项:
var div = $("<div>").html(load_types),
comment = div.contents().filter(function() {
return this.nodeType === 8;
}).get(0);
console.log(comment.nodeValue);
var div=$(“”).html(加载类型),
comment=div.contents().filter(函数()){
返回this.nodeType==8;
}).get(0);
console.log(comment.nodeValue);
演示:您只需获取注释所在父标记的html,然后执行
.replace(“,”)
,这将简单地删除注释标记,然后将此标记附加到其他父标记,或者替换当前标记,或者为其创建新的父标记并附加它
这将允许您使用jQuery选择器来检索所需的数据
var注释=”;
jQuery(“#juni”).append(“+comment.replace(“,”)+”)
我尝试加载类型。匹配(//g);没用——刚得到空值。请阅读本机JavaScript解决方案中的示例:,本机JS解决方案假设ES5@MatíasFidemraizer我真的需要发布一个非常复杂的反例,还是像world这样的小东西"; --->代码>足以让你相信正则表达式对于这类事情来说是一个糟糕的工具吗?@MatíasFidemraizer这类事情可能是规则的,但找到它的上下文肯定不是你要去边缘案例。OP病例是正常的,非常正常。OP案例不是“我想解析任何HTML”,而是示例代码中显示的HTML。这是普通的吗?这是非常有规律的!我知道你不会用regexs创建一个完整的HTML解析器,但是regexs对于整个情况来说已经足够了。@MatíasFidemraizer正则表达式对于从注释中提取字符串来说是一个非常糟糕的选择,如果OP的字符串发生了变化,即使是你之前建议的正则表达式中最轻微的变化也可能会中断。虽然在OPs中匹配字符串中的注释肯定是常规的(想象一下自动机),但实际上这是一个非常糟糕的想法,特别是因为浏览器中已经内置了这种功能,任何知道DOM 101的稍有能力的JS代码都可以毫不费力地做到这一点。
var div = $("<div>").html(load_types),
comment = div.contents().filter(function() {
return this.nodeType === 8;
}).get(0);
console.log(comment.nodeValue);