之间有什么区别
<a href="link"><img src="img" /></a>
和
<img src="img" onclick="self.location.href='link'" />
如果没有启用js,第二个选项将不起作用,还有什么?
UPD:是的,没有看错引号。答案 0 :(得分:0)
所有on
个处理程序都是基于javascript的,并且仅在启用了javascript时才有效。
你的第二个陈述是错误的,它应该是
<img src="img" onclick="self.location.href='link'" />
两者都是相同的,除了一个是html,其他是javascript。
这两个版本都有好处,但结果是一样的。
答案 1 :(得分:0)
根据用户体验,两种方法之间没有区别(如果将游标:指针样式应用于javascript方法)。
然而,不同领域存在显着差异。
语义。 在语义层面上,您无法知道与javascript相关联的意图。你知道当你使用锚元素时。然后确定这个元素(以及它的孩子)的目的是在其他地方导航。
它引领我们到第二个领域 - 搜索引擎优化。要正确索引页面爬虫,需要知道它的结构以及页面的关联方式。 Crawler不解释javascript代码。它只使用HTML代码来分析您的网站。
最后有可访问性。它与语义直接相关。例如,屏幕阅读器在锚元素和图像元素上表现不同。他们根本不知道这个图像是导航元素。因此,您的某些用户可能不会注意到有一个锚点。
我的建议是不要在这种情况下使用javascript。锚元素是最佳选择。
答案 2 :(得分:-3)
一个区别是纯html href无法更改端口号。如果要链接到其他端口,则必须使用js。