当前位置: 首页 > 知识库问答 >
问题:

在锚定标记内创建锚定标记

锺离宸
2023-03-14

在我的随机测试中,我看到了一个行为,我把一个锚标签放在另一个锚标签里。我做了一个jsfiddle。

<a class="groupPopper">
     <a class="name"> content</a>
</a>​

但在开发人员工具中,它似乎有所不同:

我相信我们不能将锚定标记放在另一个锚定标记内,因为单击内部锚定将使单击事件冒泡到父锚定标记,这是不允许的。

我的假设正确吗?

共有3个答案

冀俊良
2023-03-14

我遇到了与@thinkbonobo相同的问题,并找到了一种不用JavaScript的方法:

.outer {
  position: relative;
  background-color: red;
}
 
.outer > a {
  position: absolute;
  top: 0; left: 0; bottom: 0; right: 0;
}
 
.inner {
  position: relative;
  pointer-events: none;
  z-index: 1;
}
 
.inner a {
  pointer-events: all;
}
html lang-html prettyprint-override"><div class="outer">
  <a href="#overlay-link"></a>
  <div class="inner">
    You can click on the text of this red box. It also contains a
    <a href="#inner-link">W3C compliant hyperlink.</a>
  </div>
</div>
咸弘雅
2023-03-14

嵌套链接是非法的。

由A元素定义的链接和锚不能嵌套;A元素不能包含任何其他的A元素。

嵇浩然
2023-03-14

正如@j08691所描述的,HTML语法中禁止嵌套a元素。HTML规范没有说明原因;他们只是强调规则。

实际上,浏览器在其解析规则中有效地实施了这一限制,因此与许多其他问题不同,违反规范是行不通的。解析器有效地处理

所以如果你写

嵌套的a元素没有什么内在的不合逻辑之处:它们可以实现为点击“foo”或“zap”激活外部链接,点击“bar”激活内部链接。但是我看不到使用这种结构的理由,HTML的设计者可能也没有看到,所以他们决定禁止使用这种结构,从而简化了事情。

(如果您真的想模拟嵌套链接,您可以使用普通链接作为外部链接,使用带有合适事件处理程序的span元素作为内部链接。或者,您可以复制链接:

 类似资料:
  • 问题内容: 在我的随机测试中,我看到了一种将锚标签放在另一个锚标签内的行为。我做了一个jsfiddle。 但是在开发人员工具中,它看起来有所不同: 我相信我们不能将锚标记放在另一个锚标记内,因为单击内部锚会导致click事件冒泡到父锚标记,这是不允许的。 我的假设正确吗? 问题答案: aHTML语法禁止嵌套元素。HTML规范没有说明原因;他们只是强调规则。 从实际的角度来看,浏览器会在其解析规则中

  • 我有这个奇怪的问题铬(只在铬)。 我有一个页面与std布局(标题,内容,页脚与左和右边距)。内容部分有一个包含许多锚标记的iframe表单

  • 我有一个关于HTML中锚tel:标记的小问题。 这是有效的,还是有关于如何正确书写的标准? 空格和前缀的问题困扰了我,允许吗?

  • 我已经设计了一个普通的链接,类似于我们基于Sencha Touch 2的移动应用程序中的按钮,我对大多数链接在苹果手机上的Safari中不起作用有问题。 该链接是一个普通的

  • 我需要在href标签上禁用onclick事件。我可以禁用“a href”标记,但是“a href”标记中的onclick事件仍然没有被禁用。 下面的片段更清楚地解释了这个问题! 在上面的代码段中,尽管“a href”似乎已禁用,但当您单击a-href时,仍会单击“工作”! 请帮帮我! 提前致谢!

  • 问题内容: 这是我的问题。我有一个html内容:innerText我需要提取“ innerText”。在Jsoup中尝试此操作时,我发现当由Jsoup解析时,内部文本超出了定位标记。 这是我的代码 输出: 为什么“ innerText”移到了定位标记之外? 问题答案: 您可以通过调用元素上的方法来访问文本。 顺便说一句 使用您发布的代码(和JSoup 1.8.1)产生以下输出