删除超链接保留内容

时间:2015-02-27 07:09:40

标签: javascript jquery

如何移除外部a?并使用text()来改变内容?

<a><span>content</span></a>

这不起作用,因为它会删除整个标记。

$("span").text('Altered content').closest('a').remove();

我的愿望结果是<span>Altered Content</span>

2 个答案:

答案 0 :(得分:0)

您需要使用 .unwrap() .text()来设置文字值:

  

从DOM中删除匹配元素集的父元素,将匹配的元素留在原位。

$('a span').unwrap().text('altered content');

Demo

答案 1 :(得分:0)

为了做到这一点,正如其他人所说,你需要unwrap()功能。但是,我建议使用idclass作为选择器,而不是使用span标记。解包的方式是,它会删除父节点而只留下选择器本身。

JSFiddle

$(function() {
    $("span").unwrap();
    $("span").text('replaced text');
});