Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取HTML注释标记内的文本?_Javascript_Jquery - Fatal编程技术网

Javascript 获取HTML注释标记内的文本?

Javascript 获取HTML注释标记内的文本?,javascript,jquery,Javascript,Jquery,我有以下HTML: <!-- <option value="HVAC">HVAC</option> <option value="Cooling">|---Cooling</option> <option value="Heating">|---Heating</option> --> .... 我尝试使用,但没有正常工作——我只是得到了匹配的null

我有以下HTML:

<!--
<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);