微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

检查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。浏览器也会使标签案例正常化,并改变空格。在决定使用这种方法时,您应该了解这些限制。

原文地址:https://www.jb51.cc/html/233519.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐