使用jQuery删除HTML链接

3

我有一个jQuery字符串:

<p>
  <h1>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod</h1>
  tempor invidunt ut labore et
  <a target="_blank" class="marked user-link" href="/user/fc07254b-c063-47e1-a434-0da87b62d105">
    <img class="avatar-big-shadow" src="/avatars/fc07254b-c063-47e1-a434-0da87b62d105.png" alt="Hitzk0pf" />
    <span>Hitzk0pf</span>
  </a>
  lore magna aliquyam erat, sed diam voluptua.
  At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
  <a target="_blank" class="marked user-link" href="/user/a9641490-56e7-41c8-a4d7-3bb0b96d5d8a">
    <img class="avatar-big-shadow" src="/avatars/a9641490-56e7-41c8-a4d7-3bb0b96d5d8a.png" alt="Hitzk0pf"/ >
    <span>Hawked</span>
  </a>
  Lorem ipsum dolor sit amet,
  consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
  <a target="_blank" class="marked user-link" href="/user/fc07254b-c063-47e1-a434-0da87b62d105">
    <img class="avatar-big-shadow" src="/avatars/fc07254b-c063-47e1-a434-0da87b62d105.png" alt="Hitzk0pf">
    <span>Hitzk0pf</span>
  </a>
  At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>

如上图所示,我的字符串中有许多标签。在这些标签中包含标签。

输出应该如下所示:

<p>
  <h1>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod</h1>
  tempor invidunt ut labore et Hitzk0pf lore magna aliquyam erat, sed diam voluptua.
  At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
  Hawked Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
  Hitzk0pf At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>

您可以看到,我想用标签的内容替换标签。

通常我会使用以下方法:

$('.marked').find('span').html();

我希望替换所有的标签为其元素中的内容。

请注意,我的字符串中可能有超过3个链接,它们可能看起来不同(和href内容不同)。

2个回答

1
您可以使用replaceWith方法:
$('.marked.user-link').replaceWith(function() {
    return $(this).find('span').text();
});

然后你就完成了 - 更简洁的方式 :) - Rich
变量 text = $(this).closest('.post').find('.content').html();$('.marked.user-link')。replaceWith(function(){ 返回$(this).find('span').text(); });现在如何在字符串中使用它? - user4288234

0

@克拉克,那很有道理。我现在没有时间编写代码,但如果结构始终是每个

一个,您可以创建所有

标签的数组,然后循环遍历它们,用第一个“

”的indexOf替换它们。

如果这不足够的话,我会尝试找时间运行一个示例。不过可能还有更简洁的方法。


如果您能给我一个例子,那就太好了。 - user4288234

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接