我正在寻找好的/语义/传递验证方式来指示我的链接,这些链接用作 javascript 的钩子。
<a href="somelink" rel="js">link</a>
据我了解,“ rel ”更多的是关于文档之间的关系。此外,“数据语言”(来自这里)感觉不是一个足够好的解决方案。
提前非常感谢!
您可以使用class
-attribute 或从 HTML5 开始使用自定义 data-attributes。
如果链接是“增强”链接,它的作用与通常的链接几乎相同,但以更“用户友好”的方式 - 例如导航链接,当页面上启用 JavaScript 时,将仅重新加载页面的“内容”部分并使用HTML5 History API更新页面的地址——然后我将只使用一个语义类,实际描述链接,例如“导航”。
如果它们是 JavaScript 触发器并且当 JavaScript 关闭时它们将无法运行——我建议根本不要使用该a
元素。从规格:
如果
a
元素有一个href
属性,那么它代表一个超链接(超文本锚)。如果该a
元素没有href
属性,则该元素代表一个占位符,用于放置链接,如果它是相关的。
我相信在大多数情况下,“动作触发器”并不真正适合对a
元素使用的描述。因此,我建议使用一个span
元素,该元素的样式会暗示它是交互的触发器。再次引用规范:
span
元素本身没有任何意义,但与全局属性(例如 、 或 )一起使用时会class
很有lang
用dir
。它代表它的孩子。
关于这些触发器的另一个建议:使用这行代码(在文档头部之后的第一件事<title>
)给你的html
元素一个类js
:
<script>document.documentElement.className = 'js';</script>
然后在您的 CSS 中执行以下操作:
/*
assuming that this is your mark-up for the pseudo-links:
<span class="action-trigger">Beautiful transition</span>
*/
.action-trigger {
display:none;
visibility:hidden;
}
.js .action-trigger {
display:inline;/* or whatever suits your styling of these elements */
visibility:visible;
}
这样,当 JavaScript 被禁用时,用户将看不到会要求采取行动但实际上不起作用的“伪链接”。
UPD。从语义上讲,在某些情况下,您还可以使用表单提交元素,例如<button>
:作为示例——您可以触发表单提交——所有“投票”/“喜欢”/“删除”功能都属于这一类。其中,当 JS 被禁用时,它确实会提交该表单,但是当 JS 被启用时,这会触发后端 API 一侧的操作。