<a> tag inside div with window.location - why?</a>

时间:2013-12-03 14:51:41

标签: javascript html

我目前正在尝试修复一些由一些人建立的网站上的一些错误。 问题是,我很难看到他们已经做过的一些事情。

该网站的<div>标记为onclick="window.location='foobar'",其中包含<a>标记。两者都导致同一个地方。

这是否有原因?

谢谢!

2 个答案:

答案 0 :(得分:5)

一些开发人员比其他开发人员更好。

更重要的是,开发人员是人,会犯错误。你找到了一个。


关于开发人员使用<button onclick="location='somewhere'">的原因,即使在lot of bad advice on the internet上也有stackoverflow,即使是high rep users(也没有尝试选择j08691,只是说明一点。)

此外,button元素可能不包含每个规范的a元素,因此嵌套锚点无效。

尽管如此,页面可能仍然有效。使HTML真正强大的是它能够优雅地失败。浏览器能够使工作变得有效,即使开发人员做了写无效HTML的傻事,也不会出错或阻止整个页面工作。

答案 1 :(得分:0)

我只看到缺点:

  • 用户无法使用右键单击复制链接。它只会复制javascript
  • 搜索引擎中的机器人不会按照链接
  • 禁用了javascript的用户无法使用该链接进行导航

但是,如果我理解正确,那么它周围会有<a href="foobar">吗? 如果这是真的,那么这将使我上面列出的缺点不适用。 在这种情况下,该网站的作者可能已经使用这种技术作为某种黑客,以同样的方式在多个浏览器上设置样式......