检查HTML代码段是否适用于Javascript

前端之家收集整理的这篇文章主要介绍了检查HTML代码段是否适用于Javascript前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要一个可靠的Javascript库/函数来检查HTML片段是否有效,我可以从我的代码调用。例如,应该检查打开的标签和引号是否关闭,嵌套是否正确等。

我不希望验证失败,因为某些东西不是100%的标准(但是将会工作)。

解决方法

更新:这个答案是有限的 – 请看下面的编辑。

扩大@ kolink的答案,我用:

var checkHTML = function(html) {
  var doc = document.createElement('div');
  doc.innerHTML = html;
  return ( doc.innerHTML === html );
}

即,我们用HTML创建一个临时div。为了做到这一点,浏览器将基于HTML字符串创建一个DOM树,这可能涉及关闭标签等。

将div的HTML内容与原始HTML进行比较会告诉我们浏览器是否需要更改任何内容

checkHTML('<a>hell<b>o</b>')

返回false。

checkHTML('<a>hell<b>o</b></a>')

返回true。

编辑:由于@Quentin在下面注意到,由于各种原因,这是非常严格的:即使关闭标记对于该标签是可选的,浏览器通常会修复添加省略的结束标签。例如:

<p>one para
<p>second para

…被认为是有效的(因为Ps被允许忽略关闭标签),但是checkHTML将返回false。浏览器也会使标签案例正常化,并改变空格。在决定使用这种方法时,您应该了解这些限制。

猜你在找的HTML相关文章