使用Javascript检查HTML代码段是否在视觉上为空

时间:2017-07-26 15:26:29

标签: javascript html

我需要在node.js服务器中处理嵌入为电子邮件内容的一些HTML代码段。目标是检查代码段是否在视觉上显示为空,如果是,则显示一些占位符文本。

例如,此代码段视为空白:

<div><br></div><div><includetail><!--<![endif]--></includetail></div>

因为在浏览器中呈现时它会显示为空,而此片段在视觉上看起来是非空的:

<div><br></div><div>Hello!</div>

因为在浏览器中呈现代码段时会出现Hello!

如何实现这样的函数来返回HTML片段的视觉空白?

1 个答案:

答案 0 :(得分:2)

我不会在电子邮件中运行JavaScript,它的支持非常糟糕。

http://en.wikipedia.org/wiki/Comparison_of_e-mail_clients

通常,jQuery解决方案类似于以下

$("*").empty().text("placeholder here");

JavaScript解决方案

var list = document.getElementsByTagName('*');
for (var i = 0; i < list.length; i++) {
  if (list[i].innerHtml === "") {
    list[i].innerHtml = "placeholder here"
  }
}

修改 既然您在评论中声明要在节点中运行它,请查看cheerio以获取jQuery节点替换。 https://github.com/cheeriojs/cheerio

通过cheerio

后,我的代码会正常工作