web-dev-qa-db-fra.com

Supprimer l'hyperlien mais conserver le texte?

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

Chaque fois qu'un lien hypertexte a un titre de "Afficher le profil", je veux supprimer le lien hypertexte et le remplacer par uniquement avec le texte.

Donc au lieu de

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

Je veux avoir seulement Mentalist.

Une idée de comment résoudre ça?

32
matt

cela devrait fonctionner:

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

Voici un Fiddle avec la preuve.

88
DanielB

Cela fera:

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

Il ne doit remplacer que le premier lien.

2
rciq

Pour ce faire sur des liens de plusieurs classes,

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

Vanilla JavaScript façon (au lieu de jQuery) pour supprimer le lien hypertexte mais garder le texte:

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)
})
0
Yuci