Javascript 如何指示用作js挂钩的链接?或rel=";js";语义替换

Javascript 如何指示用作js挂钩的链接?或rel=";js";语义替换,javascript,validation,html,semantics,rel,Javascript,Validation,Html,Semantics,Rel,我正在寻找好的/语义的/通过验证的方式来指示我的链接,这些链接被用作javascript的挂钩 <a href="somelink" rel="js">link</a> 据我所知,“”更多的是关于文档之间的关系。另外,“数据语言”(datalang)感觉不是一个足够好的解决方案 提前多谢 您可以使用类-属性,或者从HTML5开始,如果链接是一个“增强”链接,.则与通常的链接几乎相同,但使用更“用户友好”的方式,例如导航链接,当页面上启用JavaScript时,将只重

我正在寻找好的/语义的/通过验证的方式来指示我的链接,这些链接被用作javascript的挂钩

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

据我所知,“”更多的是关于文档之间的关系。另外,“数据语言”(datalang)感觉不是一个足够好的解决方案


提前多谢

您可以使用
-属性,或者从HTML5开始,如果链接是一个“增强”链接,.

则与通常的链接几乎相同,但使用更“用户友好”的方式,例如导航链接,当页面上启用JavaScript时,将只重新加载“内容”然后我会使用一个语义类,实际描述链接,比如“导航”

如果它们是JavaScript触发器,当JavaScript关闭时它们将无法工作,我建议根本不要使用
a
元素。从:

如果
a
元素具有
href
属性,则表示超链接 (超文本锚)。如果
a
元素没有
href
属性,则 元素表示一个占位符,在该占位符中链接可能有其他位置 已放置,如果相关的话

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

span
元素本身并不意味着什么,但可能很有用 与全局属性一起使用时,例如
class
lang
,或
dir
。它代表它的孩子

关于这些触发器的另一个建议是:使用这行代码(文档头部
之后的第一件事),以便为
html
元素提供一个类
js

<script>document.documentElement.className = 'js';</script>
document.documentElement.className='js';
然后在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;
}
/*
假设这是您对伪链接的标记:
美丽的过渡
*/
.动作触发器{
显示:无;
可见性:隐藏;
}
.js.动作触发器{
显示:inline;/*或适合这些元素样式的任何内容*/
能见度:可见;
}
这样,当禁用JavaScript时,用户将看不到需要操作的“伪链接”,但实际上无法工作


UPD。从语义上讲,在某些情况下,您还可以使用表单提交元素,例如
:例如,您可以触发表单提交–所有“投票”/“喜欢”/“删除”功能都属于此类。当禁用JS时,确实会提交该表单,但当启用JS时,会触发后端API的操作。

问题是:在没有JavaScript的情况下,链接是否可以工作(因此,使用JavaScript时,它们只是“增强”的,例如允许部分重新加载页面,而不是完全刷新),或者它们是“伪链接”并且它们仅用于支持JS的功能?@gryzzly目前我只有“伪链接”“,但我想听听这两种情况的解决方案:)问题不在于如何将数据传递给JavaScript。这是关于如何在标记中显示这些链接不是指向web资源或内部锚的链接,而只是JavaScript触发器。另一个选项是使用JavaScript添加
a
元素,必要时替换占位符
span
元素。不要忘记启用JS但关闭CSS的用户;)从“语义”的角度来看,这很好,但从性能的角度来看,这并没有那么好:-)尽管如此,“语义/验证程序”案例并不真正适用于JS密集型web应用程序的开发……在这种情况下,我更愿意继续使用,留下将焦点转移到它上面的选项(使用tab)…通过向span添加
tabindex
属性,您可以添加一种专注于
span
的功能:但是,为了完全模拟链接的UI,可能需要一些尝试和错误。