2013-05-25 15 views
9

我有以下HTML:获取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> 

我试图用the solutions here但是毫无效果正确 - 我只是得到null作为搭配。

感谢您的帮助!

+1

正则表达式! –

+0

我试过load_types.match(/ /g);无济于事 - 只是空了。 –

+0

阅读本文http://stackoverflow.com/questions/5653207/remove-html-comments-with-regex-in-javascript – GEMI

回答

15

never use regex to parse HTML。您可以使用以下代替:

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

console.log(comment.nodeValue); 

DEMO:http://jsfiddle.net/HHtW7/

+5

本地JavaScript解决方案请示例:http: //jsfiddle.net/4g3FT/,原生JS解决方案假设ES5 http://jsfiddle.net/TUR65/ –

+0

@BenjaminGruenbaum是的,我只是写它。谢谢! – VisioN

+0

请随时编辑此代码到您的答案:) –