我有以下代码用于打开帐户锚点上的菜单:
echo "<li><a href='./account/' data-flexmenu='account'>Account"</a></li>";
data-flexmenu='account'
告知应显示的菜单,在这种情况下,是帐户菜单。
问题是我在w3验证器上遇到错误:there is no attribute "data-flexmenu"
有没有办法让它有效?
答案 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
应该有效。您可以在此示例:
<!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文档更短,但你会发现很多信息。