aHTML语法禁止嵌套元素。HTML规范没有说明原因;他们只是强调规则。
从实际的角度来看,浏览器会在其解析规则中有效地实施此限制,因此与许多其他问题不同,违反规范将
不起作用。解析器有效地将
<a>open a元素内的start标记视为在开始新元素之前隐式终止open元素。
因此,如果您编写
<a href=foo>foo <a href=bar>bar</a> zap</a>,则不会获得嵌套元素。浏览器会将其解析为
<a href=foo>foo</a> <a href=bar>bar</a> zap,即两个连续的链接,后跟一些纯
文本。
嵌套a元素没有内在的不合逻辑:可以实现它们,以便单击“ foo”或“ zap”激活外部链接,单击“ bar”激活内部链接。但是我看不到使用这种结构的理由,HTML的设计者也可能没有看到这种结构,因此他们决定禁止使用这种结构,从而简化了事情。
(如果您真的想模拟嵌套链接,则可以将普通链接用作外部链接,并将span具有适当事件处理程序的元素用作内部“链接”。或者,可以复制链接:
<a href=foo>foo</a> <a href=bar>bar</a> <a href=foo>zap</a>。)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)