例如,我将此作为第三方嵌入代码的一部分
<a class="cs_import">Add from Address Book</a>
毫不奇怪,“从地址簿添加”并没有链接到任何东西......但据说它应该是。这怎么可能,如果这可能是一个链接......可能是我的链接被破坏的原因?
答案 0 :(得分:4)
是。这是可能的。
Is被用作片段锚点。在您的示例中不是这种情况,因为没有name属性。但如果它有name="myfragment"
且页面文件名为page.html
,那么page.html#fragment
会自动将浏览器滚动到页面上的那一点。
它仅用于样式目的。这可能是这样做的原因,但这不是一个好理由,因为造型可以通过任何一种方式完成。
正在使用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一样,通常滚动到页面顶部除非被捕获和处理。