【问题标题】:Delete all hyperlinks in HTML删除 HTML 中的所有超链接
【发布时间】:2016-06-01 22:49:30
【问题描述】:

在我的 iOS 应用程序中,我使用了一些离线 HTML,但有很多链接。因为这些链接真的很让人分心,所以我想把它们全部删除。

<a href="https://www.admin.ch/opc/de/classified-compilation/19995395/index.html#ani1"><strong>Präambel</strong></a>

我首先尝试使用查找和替换&lt;a href=",但之后仍然显示 URL。每个 URL 都不一样,所以我不能在查找和替换中包含它。..

有谁知道我如何能够查找和替换&lt;a href="x"&gt;,其中 x 可以是任何文本?或者有什么工具可以简单地删除它们?

非常感谢。非常感谢您的帮助!

【问题讨论】:

  • 您使用的编辑器是否支持正则表达式?您还想删除链接的文本,还是只删除文本周围的链接?
  • 所以你想从 DOM 中移除 &lt;a&gt; 元素,只留下其中的子元素?
  • 是的,确实,我想将文本保留在链接中,但删除链接本身。

标签: html css href


【解决方案1】:

如果你想使用 jQuery,很容易在你的所有 &lt;a&gt; 标签中替换 url。

您只需输入以下代码:

    jQuery('body').find('a').attr('href', '#');

如果您想使用 jQuery 删除它,这将有所帮助。

【讨论】:

  • 这很有用,这样用户就无法访问链接,但问题是视觉上的。我的客户不喜欢链接的蓝色下划线,所以我想删除它们。
  • 他实际上是想从 DOM 中删除元素。只需将href 属性设置为# 即可将元素留在原处。此外,OP 没有提到 jQuery。
  • 是的,@BenM 就是我的意思。
  • @BramRoelandts 看到我的回答。
【解决方案2】:

如果客户不喜欢链接的蓝色下划线(根据您对 karlo 的回答的评论),只需使用 CSS 重置它们:

a {
    color: #000; /* or whatever colour you prefer - you may also use inherit */
    text-decoration: none;
    pointer-events: none;
}

请注意,我们使用pointer-events 删除链接上的任何绑定点击事件(从而防止用户点击它们)。

jsFiddle Demo

【讨论】:

  • 这真的很有用!正是我需要的!
  • 或者更好的是,使用“回滚”到父颜色的color: inherit;
  • @BramRoelandts 没问题!很高兴我能提出一个有用的解决方案。
【解决方案3】:

jquery 也可以做到这一点。这将删除所有超链接,因为您想删除 html 中的所有超链接

$(document).ready(function() {
    $("a").remove();
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 2021-06-20
    • 1970-01-01
    • 2016-04-28
    • 1970-01-01
    相关资源
    最近更新 更多