【问题标题】:How to remove Highlight (<mark>) from a paragraph using Javascript如何使用 Javascript 从段落中删除突出显示 (<mark>)
【发布时间】:2022-01-12 03:45:09
【问题描述】:

我有一些段落包含 &lt;mark&gt; 元素的 HTML。这将突出显示&lt;mark&gt; 元素中的文本。本质上,我想通过删除 &lt;mark&gt; 元素但保留 textContent 来删除突出显示。

最好的方法是什么?

这是一个示例段落:

我想删除突出显示的文本。 HTML 包含&lt;span&gt; 和其他元素以及一些我不想删除的&lt;mark&gt; 元素。我要删除的有一类.show-mark。我知道如何找到我想要删除的 &lt;mark&gt; 元素,但我不知道如何删除它们。

这是示例段落的 HTML:

<p id="p85" class="cmiTranPara note-style-bookmark note-style-bookmark-start note-style-bookmark-end">
<i class="playmark play icon"></i>
<i class="timing large circular red clock icon"></i>
<span class="pnum has-annotation" data-aid="1574791210024">(p85)&nbsp;</span>
Miracle-mindedness is still a stage of perception just short of
<mark class="show-mark">master</mark>y. For 
<mark class="show-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>

感谢您的帮助。

【问题讨论】:

  • 请您分享一个 HTML/JS minimal reproducible example?是否也混入了其他元素,例如span 或em? --- 一种非常快速且天真的方法是替换 textContent myElement.textContent = myElement.textContent(这将删除 myElement 内的 any 元素)

标签: javascript dom


【解决方案1】:

试试这样的

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

看看它是否有效。

【讨论】:

    猜你喜欢
    • 2021-10-01
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    相关资源
    最近更新 更多