4

我正在寻找好的/语义/传递验证方式来指示我的链接,这些链接用作 javascript 的钩子。

<a href="somelink" rel="js">link</a>

据我了解,“ rel ”更多的是关于文档之间的关系。此外,“数据语言”(来自这里)感觉不是一个足够好的解决方案。

提前非常感谢!

4

2 回答 2

2

您可以使用class-attribute 或从 HTML5 开始使用自定义 data-attributes

于 2011-08-21T11:37:43.390 回答
1

如果链接是“增强”链接,它的作用与通常的链接几乎相同,但以更“用户友好”的方式 - 例如导航链接,当页面上启用 JavaScript 时,将仅重新加载页面的“内容”部分并使用HTML5 History API更新页面的地址——然后我将只使用一个语义类,实际描述链接,例如“导航”。

如果它们是 JavaScript 触发器并且当 JavaScript 关闭时它们将无法运行——我建议根本不要使用该a元素。从规格

如果a元素有一个href属性,那么它代表一个超链接(超文本锚)。如果该a元素没有href属性,则该元素代表一个占位符,用于放置链接,如果它是相关的。

我相信在大多数情况下,“动作触发器”并不真正适合对a元素使用的描述。因此,我建议使用一个span元素,该元素的样式会暗示它是交互的触发器。再次引用规范

span元素本身没有任何意义,但与全局属性(例如 、 或 )一起使用时会class很有langdir。它代表它的孩子。

关于这些触发器的另一个建议:使用这行代码(在文档头部之后的第一件事<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 一侧的操作。

于 2011-08-21T13:48:09.610 回答