【发布时间】:2012-02-16 18:02:00
【问题描述】:
我问这个是因为我有一些链接,它们的作用类似于通过 ajax 提取内容的按钮,所以我不需要任何 href。
(我是从 SEO 的角度问这个问题)
【问题讨论】:
我问这个是因为我有一些链接,它们的作用类似于通过 ajax 提取内容的按钮,所以我不需要任何 href。
(我是从 SEO 的角度问这个问题)
【问题讨论】:
我假设“链接”只是指a 元素。如果是这样的话:
没有。至少,不在HTML5 draft specification:
如果a元素没有href属性,则该元素代表a 可能放置链接的位置的占位符,如果它 是相关的。
作者也可以创建一个不指定锚点的 A 元素,即 没有指定 href、name 或 id。这些属性的值 可以在以后通过脚本设置。
【讨论】:
a@href。)
href 属性的验证测试。
href 属性,它甚至不是一个链接。
链接是否需要href?
是的。没有 href 属性的锚点不是链接。
我问这个是因为我有一些链接,它们的作用类似于通过 ajax 提取内容的按钮
如果你正在这样做,那就做对吧。使用Unobtrusive JavaScript 和pushState。
只有在您使用指点设备并打开 JS 时才有效的“链接”不是好的链接。
我是从 SEO 的角度问这个问题
搜索引擎不会执行你的 JavaScript,所以伪链接(依赖于 JS)就它们而言只是虚无的黑洞)。
【讨论】:
如果您有类似按钮的链接,您可能应该使用<button> 元素。
【讨论】:
根据规范,当您省略 href 时,您还会发现浏览器实现了不同的默认样式(例如,不将光标更改为指针)。添加虚拟href的最常见方法是
href="#" // But the event handler function must return false in order to avoid the default behaviour of jumping to the top of the page
href="javascript:void()" // has the advantage of having no annoying default behaviour
【讨论】:
不,不是。但如果未设置 href,链接可能会呈现不同的(下划线和颜色)。
【讨论】:
我不确定,但前段时间我遇到了不带 href 的“a”的问题...点击不起作用。但也许它只是一个旧的浏览器。
【讨论】:
它们不是绝对必需的,但是您可能应该将 href="#/" 作为 href 以使其在语义上正确。如果没有href="" 属性,则锚点很可能会被解析为页面中的书签,尤其是在指定了name="" 属性的情况下。
【讨论】:
#/,因为仅使用# 会导致浏览器跳转到页面顶部
虽然不是必需的,但您应该将 href 添加到锚标记,因为没有 href,它们并不是真正的锚标记。
您可以在链接中添加“#”并添加 onClick='return false;'防止点击事件。如果您使用的是 JQuery,则可以将 event.preventDefault() 添加到链接的点击处理程序中。
从 SEO 的角度来看,我会为锚标签使用标题(避免使用 -ve text-indent 属性。)
【讨论】: