我了解到嵌套锚标记不是符合标准的 HTML。
从 W3:
A 元素定义的链接和锚点不得嵌套;A 元素不得包含任何其他 A 元素。
由于 DTD 将 LINK 元素定义为空,因此 LINK 元素也不能嵌套。
与简单地嵌套锚点相比,在这个问题的选定答案中建议的替代方案似乎更有可能产生意想不到的行为!
仅仅为了在 JS 中重定向页面而制作 onclick 事件处理程序似乎也有点矫枉过正。更不用说使用脚本解决方案会给禁用脚本的用户带来问题。
编辑
有趣的是,我正在制作一个小提琴来演示,我忽略了 chrome 实际上是这样重组 DOM 的:
<div id="container">
<a href="http://yahoo.com"></a>
<div class="parent">
<a href="http://yahoo.com">Parent Element</a>
<a href="http://google.com">
<div class="child">Child Element</div>
</a>
<a href="http://bing.com">
<div class="child">Other Child</div>
</a>
</div>
</div>
我忽略了这一点,因为我看到悬停工作并将鼠标放在文本上。现在知道这一点并不一定会改变我的问题,但它确实说明它甚至不像我想的那样工作。