链接上是否需要href?

时间:2012-01-23 11:16:55

标签: html hyperlink seo

我问这个是因为我有一些链接就像按钮一样通过ajax提取内容,所以我不需要任何href。

(我从SEO的角度问这个问题)

8 个答案:

答案 0 :(得分:25)

我假设“链接”只是指a元素。如果那是真的那么:

没有。至少,不在HTML5 draft specification

  

如果a元素没有href属性,则该元素表示a   占位符,否则链接可能放在哪里   已经相关了。

来自HTML 4.01 specification

  

作者也可以创建一个不指定锚点的A元素,即   没有指定href,name或id。这些属性的值   可以稍后通过脚本设置。

答案 1 :(得分:7)

  

链接是否需要href?

是。没有href属性的锚点不是链接。

  

我问这个是因为我有一些链接就像按钮一样通过ajax拉出内容

如果你这样做,那就做对了。使用Unobtrusive JavaScriptpushState

"连结"只有当你使用指点设备并且启用了JS时才能正常工作。

  

我从SEO的角度提出这个问题

搜索引擎不会执行你的JavaScript,所以伪链接(依赖于JS)只是他们所关心的虚无黑洞。

答案 2 :(得分:4)

如果您的链接类似按钮,则应该使用<button>元素。

答案 3 :(得分:2)

不,不是。但是如果没有设置href,链接可能会呈现不同的(下划线和颜色)。

答案 4 :(得分:2)

我不确定,但前段时间我遇到了“a”没有href的问题...点击无效。但也许它只是一个旧的浏览器。

答案 5 :(得分:2)

根据它的规格,你也会发现当你省略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

答案 6 :(得分:1)

它们并非绝对必需,但是您应该将href="#/"作为href来使其在语义上正确。如果没有href=""属性,锚点很可能会被解析为页面中的书签,尤其是在指定了name=""属性的情况下。

答案 7 :(得分:0)

虽然不是必需的,但是你应该将href添加到锚标签中,因为没有href它们就不是真正的锚标签。

您可以在链接中添加“#”并添加onClick ='return false;'防止点击事件。如果您使用的是JQuery,则可以将event.preventDefault()添加到链接的点击处理程序中。

从SEO的角度来看,我会使用标题作为锚标记(避免使用-ve text-indent属性。)