如何使自定义属性w3有效?

时间:2012-03-08 19:26:18

标签: custom-attributes w3c-validation

我有以下代码用于打开帐户锚点上的菜单:

echo "<li><a href='./account/' data-flexmenu='account'>Account"</a></li>";

data-flexmenu='account'告知应显示的菜单,在这种情况下,是帐户菜单。

问题是我在w3验证器上遇到错误:there is no attribute "data-flexmenu"

有没有办法让它有效?

2 个答案:

答案 0 :(得分:4)

我不会太担心验证。我认为经过验证的HTML非常重要,但是如果您的代码在所有浏览器中都有效并且仍然没有验证,那么重点是什么? 自定义属性适用于所有浏览器,甚至是Internet Explorer 6 。自定义属性也可以通过Javascript进行解析,并且HTML5文档类型无需这样做。

尼古拉斯·扎卡斯(Nicholas Zakas)撰写了一篇很棒的文章,他用自定义属性作为例子解释了验证的价值。见http://www.nczonline.net/blog/2010/08/17/the-value-of-html-validation/

答案 1 :(得分:0)

您当前的doctype不允许属性data-flexmenu。删除此属性或切换到HTML5文档类型。

在HTML5中,data-flexmenu应该有效。您可以在此示例

中定义HTML5文档类型
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>This is a HTML5 Doctype</title>
</head>
<body>
    <ul>
        <li><a href='./account/' data-flexmenu='account'>Account"</a></li>
    <ul>
</body>
</html>

这是 HTML5 doctype

<!DOCTYPE html>

如果你想要更短,你也可以像这样定义 charset

<meta charset="utf-8">

定义文档的语言,如下所示:

<html lang="en">

可以使HTML5文档更短,但你会发现很多信息。