站点验证会引发错误:没有属性“DATA-BG”

时间:2012-08-26 00:23:19

标签: javascript css validation

正在开发中验证我的网站can be viewed here,我收到错误消息:第92行,第32列:没有属性“DATA-BG”。我在我的网站上使用这样的数据属性:

<div class="sbi_panel" data-bg="slider/images/4.jpg">

因此,无法识别data-bg属性。我想知道这里有什么问题吗?

2 个答案:

答案 0 :(得分:2)

问题是您的DOCTYPE,目前设置为:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

W3C验证程序在确定要执行的验证类型时查看DOCTYPE声明。开始data-的HTML属性是HTML5创意,因此您需要将DOCTYPE更改为HTML5,以便验证其正确无误。

答案 1 :(得分:0)

根据HTML 4.01 doctype或任何已发布的doctype,不允许使用data-属性。这对其功能没有影响;这只是一个句法问题。

选项:

  1. 只需忽略该消息即可。如果你有大量这样的属性,那么这是不切实际的,因为这些消息的数量使得很难检测出真正的标记错误。
  2. Construct a custom DTD,允许您使用的data-属性。 The W3C shouts against the idea,但真正的问题是大多数人不想参与DTD,并且需要一些学习来编辑DTD。在这种情况下,您只需将属性添加到coreattrs属性即可。您需要单独添加每个data-属性。
  3. 更改为HTML5 doctype语句<!doctype html>。这使得允许所有data-属性,但它也意味着在其他方面的限制。 HTML5 不是 HTML 4.01上的纯扩展名;例如,它声明大多数meta标签无效(虽然大多数meta标签都没用,但您可能有一些有用但目前不允许在HTML5中使用。)