Home > Back-end >  How to remove Highlight (<mark>) from a paragraph using Javascript
How to remove Highlight (<mark>) from a paragraph using Javascript

Time:12-10

I have HTML where some paragraphs contain <mark> elements. This causes the text within the <mark> element to be highlighted. Essentially, I want to remove the highlight by removing the <mark> element but keeping the textContent.

What's the best way to do this?

Here's an example paragraph:

Example with highlighted text

I want to remove the highlighted text. The HTML contains <span> and other elements and some <mark> elements that I don't want removed. The ones I want removed have a class of .show-mark. I know how to find just the <mark> elements that I want to remove but I don't know how to remove them.

Here's the HTML for the example paragraph:

<p id="p85" >
<i ></i>
<i ></i>
<span  data-aid="1574791210024">(p85)&nbsp;</span>
Miracle-mindedness is still a stage of perception just short of
<mark >master</mark>y. For 
<mark >master</mark>y comes when you know that you are literally and deliberately creating. And there is nothing miraculous about it. You will decree a thing and it shall be so!
</p>

Thanks for your help.

CodePudding user response:

Try something like this

targets = document.querySelectorAll("mark");
for (let target of targets) {  
  target.outerHTML=target.innerHTML;
}

and see if it works.

  • Related