我是否可以将我想要的任何属性添加到 HTML 标签,以便我可以在以后使用 javascript 检索它们的值?例如:
<a href="something.html" hastooltip="yes" tipcolour="yellow">...</a>
如果这行不通,您将如何存储这样的任意信息?
编辑:由于构成 HTML 属性在技术上似乎无效,因此我已将这个问题的第二部分改写为自己的问题:如何为某些 HTML 标签存储任意数据
我是否可以将我想要的任何属性添加到 HTML 标签,以便我可以在以后使用 javascript 检索它们的值?例如:
<a href="something.html" hastooltip="yes" tipcolour="yellow">...</a>
如果这行不通,您将如何存储这样的任意信息?
编辑:由于构成 HTML 属性在技术上似乎无效,因此我已将这个问题的第二部分改写为自己的问题:如何为某些 HTML 标签存储任意数据
在 HTML5 中,是的。你只需要在它们前面加上data-
. 请参阅规范。
当然,这意味着您应该使用 HTML5 文档类型 ( <!doctype html>
),即使浏览器并不关心。
好吧,您总是可以创建自己的 DTD 来为您的标签获取新的有效属性。浏览器不会出现问题,如果您可以访问这些自定义属性,您应该测试您的 JavaScript。或者您可以使用 HTML 和 CSS 提供的现有工具。您可以使用多个类,例如
<a href="..." class="class-one class-two has-tooltip">
对于颜色选择,我强烈建议您不要在 HTML 中使用硬编码的颜色名称,您需要使用 CSS 来声明样式。使用 class 属性作为 CSS 声明的钩子,并选择语义类名称,例如
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 代码中,您可以生成具有“长工具提示”和“通用工具提示”之类的类而不是“黄色工具提示”的元素,因此在重新设计页面以具有绿色工具提示的情况下,您不会自相矛盾。
你可以。该页面不会通过验证,但大多数浏览器会接受它。
这几乎可以肯定是错误的做法。尝试使用 class="hasTooltip_yes tipcolour_yellow"
根据您要存储的信息,您应该查看一些其他可用属性。这些看起来不是很好的候选者,但 'rel' 已被用于许多有趣的事情。