链接是否可能没有明确的href?

时间:2011-04-03 07:19:27

标签: javascript html css

例如,我将此作为第三方嵌入代码的一部分

<a class="cs_import">Add from Address Book</a>

毫不奇怪,“从地址簿添加”并没有链接到任何东西......但据说它应该是。这怎么可能,如果这可能是一个链接......可能是我的链接被破坏的原因?

5 个答案:

答案 0 :(得分:4)

是。这是可能的。

为什么会有人这样做?

  1. Is被用作片段锚点。在您的示例中不是这种情况,因为没有name属性。但如果它有name="myfragment"且页面文件名为page.html,那么page.html#fragment会自动将浏览器滚动到页面上的那一点。

  2. 它仅用于样式目的。这可能是这样做的原因,但这不是一个好理由,因为造型可以通过任何一种方式完成。

  3. 正在使用javascript以编程方式为其分配href属性。例如,我可以使用一个脚本来选择具有特定类的所有a标记,并根据文本值分配href,例如$("a.cs_import").attr("href",getHref(this.text()));,其中getHref(innerText)是一个javascript函数从描述文本中获取URL。几乎总有比这更好的做事方式,但有些情况值得保证。

答案 1 :(得分:1)

使用JavaScript可以实现。在页面加载时,可以运行一些查找此元素的JS代码并向其添加onClick处理程序。

答案 2 :(得分:0)

如果链接应该使用一些javascript代码“增强”,第三方可能会给你一个javascript文件也包括在内。请确保您包含该javascript文件,并根据供应商的说明在正确的位置进行此操作。

答案 3 :(得分:0)

href只是链接标记的一个属性。你可以把它留下来,但它不会非常语义化(甚至可能无法验证)。我知道有些浏览器只显示该元素但不允许您单击它。

在您的情况下,稍后可能会使用JS增强链接。如果它没有得到增强,它几乎是一个荣耀的span元素。

答案 4 :(得分:0)

如果'<a>'元素没有href属性,则它不可聚焦,并且不包含在键盘访问的Tab键顺序中。 href ='#element'通过将哈希附加到当前位置来工作,而没有锚标识符的'#'就像在页面上找不到的id一样,通常滚动到页面顶部除非被捕获和处理。