Javascript 如何将HTML标记与纯文本等价物映射
我有一些用Javascript 如何将HTML标记与纯文本等价物映射,javascript,jquery,html,Javascript,Jquery,Html,我有一些用TinyMCE显示的HTML标记。例如,以下标记: <p>This is a <b>market</b>.</p> 这是一个市场。 呈现为“这是一个市场” 我需要突出显示某些特定的单词,它们的位置等是根据标记的纯文本版本提供给我的。由于突出显示必须在HTML(TinyMCE)中完成,因此我需要找到一种方法将纯文本映射回HTML标记。 在上面的示例中,句子中的第一个“T”在HTML标记中位于位置3,在纯文本中位于位置0 我的问题:
TinyMCE
显示的HTML
标记。例如,以下标记:
<p>This is a <b>market</b>.</p>
这是一个市场。
呈现为“这是一个市场”
我需要突出显示某些特定的单词,它们的位置等是根据标记的纯文本版本提供给我的。由于突出显示必须在HTML
(TinyMCE
)中完成,因此我需要找到一种方法将纯文本映射回HTML标记。在上面的示例中,句子中的第一个“T”在HTML标记中位于位置3,在纯文本中位于位置0 我的问题:
1.我该怎么做呢 我已经尝试了一种暴力方法,即遍历HTML文本,在标记结束的地方,开始将HTML标记位置映射到纯文本。新线等的出现似乎确实把事情搞糟了
欢迎提供任何帮助。您可以获取元素的textContent,以获取不带html标记的文本。@dandavis:位置如何?elm.textContent.indexOf(str)应与strHTML.indexOf(str)相同。此外,如果空格有问题,请在查看textContent之前将空格:pre应用于元素或元素的克隆。