当前位置: 首页 > 面试题库 >

在锚标记内创建锚标记

厉熠彤
2023-03-14
问题内容

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

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

但是在开发人员工具中,它看起来有所不同:

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

我的假设正确吗?


问题答案:

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>。)



 类似资料:
  • 在我的随机测试中,我看到了一个行为,我把一个锚标签放在另一个锚标签里。我做了一个jsfiddle。 但在开发人员工具中,它似乎有所不同: 我相信我们不能将锚定标记放在另一个锚定标记内,因为单击内部锚定将使单击事件冒泡到父锚定标记,这是不允许的。 我的假设正确吗?

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

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

  • 我正在阅读XML并解析它,希望更新XML中的所有锚标记:在上面的例子中,我希望在一个标记中附加域名。如果href属性不是以HTTPS、HTTP或www开头。我想将基URL追加到href属性。 怎么做?

  • 问题内容: 在这种情况下,我需要使用Selenium api 查找并单击“ 关于” 链接,但无法执行此操作。 我所做的是 但它不起作用 问题答案: 以我的经验,Selenium API在这种方式上有很多缺陷。通常只能通过重新选择选择器来克服它们。例如,您可以尝试使用XPath选择器来获取元素: 另外,如果您尝试使用Internet Explorer,则可能不会单击该元素而是模拟按下Enter键来帮

  • 问题内容: 我要提取: 来自标签的src的文本和 类数据内的定位标记的文本 我成功地提取了img src,但是从锚标记中提取文本时遇到了麻烦。 这是整个HTML页面的链接。 这是我的代码: 我想做的是 提取图像src(链接)和中的标题,因此例如: 应该提取: 问题答案: 以上所有答案确实可以帮助我构建答案,因此,我对其他用户提出的所有答案投了赞成票:但是我最终对自己正在处理的确切问题汇总了自己的答