web-dev-qa-db-ja.com

ハイパーリンクを削除しますが、テキストは保持しますか?

<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だけが欲しいです。

それを解決する方法はありますか?

32
matt

これはうまくいくはずです:

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

ここに フィドル の証明があります。

88
DanielB

これは行います:

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

複数のクラスのリンクでこれを行うには、

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

ハイパーリンクを削除してテキストを保持するバニラ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)
})
0
Yuci