【发布时间】:2015-02-10 08:02:53
【问题描述】:
如果我想使用触发 javascript 回调但不使窗口导航到另一个位置的 achor,我想知道以下结构的哪种形式在语义上是正确的:
javascript:
window.addEventListener('load', function() {
document.getElementById('AuxAnchor').addEventListener('click', function(e) {
// Do something
e.preventDefault(); // Don't navigate to anywhere
}, false)
}, false);
HTML:
定义空值的 href 属性:
<a id="AuxAnchor" href="">Click me</a>
定义的 href 属性缺少文档内 ID:
<a id="AuxAnchor" href="#">Click me</a>
未定义的 href 属性:
<a id="AuxAnchor">Click me</a>
请注意,在后者(未定义的 href 属性)中,我必须通过使用样式来模拟超链接外观,但这基本上只是一个外观问题,我一点也不担心所以。
【问题讨论】:
-
从语义上讲,你只能有一个唯一的 id。我想你想把它改成一个类。
-
id 是一样的,因为我只是想展示不同的情况,它们并不打算同时出现在同一个文档上。
-
当我不需要
href时,我根本不想使用它.. -
要求“语义正确”的方式是基于意见的,此外,这不是一个明确定义的问题。 “语义上”的意思是“与意义相关”,但这是什么“意义”呢?
-
当然是 HTML 文档的语义标准。
标签: javascript html semantics