用jQuery删除html链接

时间:2015-08-13 20:05:19

标签: jquery replace hyperlink

我有一个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>

上面你可以看到,我的字符串中有很多<a>个标签。在<a>代码中,有imgspan代码。

输出应如下所示:

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

如您所见,我想将<a>标记替换为span标记的内容。

通常我会用这个:

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

但我想将所有 <a>标记替换为其<span>元素的内容。

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

1 个答案:

答案 0 :(得分:0)

@clark,这完全合情合理。我现在还没有时间编写它,但如果结构总是1,那么你可以创建一个包含所有标签的数组,然后循环遍历它们,用第一个indexOf替换它们

如果这还不够,

会试着抽出时间来运行一个例子。很难有一种更清洁的方式。