删除超链接但保留文字?

时间:2011-05-31 13:24:36

标签: javascript jquery hyperlink

<a href="http://www.website.com/something" title="Show Profile">Mentalist</a>

每当超链接的标题为“显示配置文件”时,我想删除超链接并仅将其替换为文本。

所以而不是

<a href="http://www.website.com/something" title="Show Profile">Mentalist</a>

我想只有Mentalist

知道如何解决这个问题吗?

4 个答案:

答案 0 :(得分:87)

这应该有效:

$('a[title="Show Profile"]').contents().unwrap();

这里有Fiddle证明。

答案 1 :(得分:2)

这样做:

<a href="http://www.website.com/something" title="Show Profile">Mentalist</a>
<a href="http://www.website.com/something" title="Something Else">Mentalist</a>

<script type="text/javascript">
$("a[title='Show Profile']").each(function(){
    $(this).replaceWith($(this).text());
});
</script>

它应该只替换第一个链接。

答案 2 :(得分:2)

要在多个类的链接上执行此操作,

$("a.className1, a.className2").contents().unwrap();

答案 3 :(得分:0)

香草JavaScript方式(而不是jQuery)删除超链接但保留文本:

const links = document.querySelectorAll('a[title="Show Profile"]')

links.forEach(link => {
    const el = document.createElement('span')
    el.textContent = link.textContent
    link.parentNode.replaceChild(el, link)
})