我是否可以在HTML标签中添加任何我想要的属性,这样我以后可以使用javascript检索它们的值?例如:
<a href="something.html" hastooltip="yes" tipcolour="yellow">...</a>
如果这不起作用,你会如何存储这样的任意信息?
修改:由于看起来构建HTML属性在技术上并不合适,我在这里将这个问题的第二部分改为自己的问题:How to store arbitrary data for some HTML tags
答案 0 :(得分:46)
在HTML5中,是的。您只需在data-
前添加前缀即可。请参阅the spec。
当然,这意味着您应该使用HTML5 doctype(<!doctype html>
),即使浏览器不关心。
答案 1 :(得分:24)
嗯,您始终可以创建自己的DTD以获取标签的新有效属性。浏览器不会打嗝,如果可以访问这些自定义属性,则应测试JavaScript。或者您可以使用HTML和CSS提供的现有工具。您可以使用多个类,如
<a href="..." class="class-one class-two has-tooltip">
对于颜色选择,我强烈建议您不要在HTML中使用硬编码的颜色名称,而是使用CSS来声明样式。使用class属性作为CSS声明的钩子,并选择 semantic 类名,例如
HTML:
<a href="..." class="has-tooltip common-tooltip">
<a href="..." class="has-tooltip long-tooltip">
CSS:
a.has-tooltip {
colour: red;
}
a.common-tooltip {
background: #ddd;
}
a.long-tooltip {
background: #ebf;
}
在您的JavaScript代码中,您可以使用类似“long-tooltip”和“common-tooltip”而不是“yellow-tooltip”的类生成元素,因此在重新设计页面以获得绿色时,您不会自相矛盾工具提示。
答案 2 :(得分:4)
你可以。该页面不会通过验证,但大多数浏览器都会接受验证。
这几乎肯定是错误的做法。尝试使用class =“hasTooltip_yes tipcolour_yellow”
答案 3 :(得分:2)
根据您要存储的信息,您应该查看一些其他可用属性。这些看起来不是很好的候选人,但'rel'已被用于许多有趣的事情。