我想使用jQuery,删除HTML标记之间的空格和换行符。
var widgetHTML = ' <div id="widget"> <h2>Widget</h2><p>Hi.</p> </div>';
应该:
alert(widgetHTML); // <div id="widget"><h2>Widget</h2><p>Hi.</p></div>
我认为我需要的模式是:
>[\s]*<
不使用正则表达式就可以实现吗?
我尝试了user76888布置的技术,并且效果很好。为了方便起见,我将其打包到jQuery插件中,并认为社区可能会喜欢它,因此在这里:
jQuery.fn.cleanWhitespace = function() { this.contents().filter( function() { return (this.nodeType == 3 && !/\S/.test(this.nodeValue)); }) .remove(); return this; }
要使用此功能,只需将其包含在脚本标签中,然后选择一个标签以使用jQuery清理并按如下所示调用函数:
$('#widget').cleanWhitespace();