我正在通过我的 innerHTML 找到某个字符串的索引,以便我可以向它添加样式标签并突出显示它 - 为此,我使用类似的东西:i = htmlText.indexOf(lcSearchTerm, i+1);问题是,如果我的 lcSearchTerm 是:"Find word"但如果在 innerHTML 中,它是这样的:"<span> Find </span> word"我找不到字符串的索引,因为它找不到我们正在寻找的字符串)。所以我的想法是在里面的innerText中找到它并在那里突出显示它。问题是之后,我需要将其转换回 innerHTML 以使用更改更新页面。我应该是这样的:innerText = "Find word"innerText = Stylize(innerText)innerText = "<font style='color:blue; background-color:yellow;'> Find word </font>"innerHTML = TextToHTML(innerText);innerHTML = "<body> <div> <font style='color:blue; background-color:yellow;'> Find word </font> </div> </body>"关于如何做到这一点的任何想法?
2 回答
临摹微笑
TA贡献1982条经验 获得超2个赞
您可以尝试通过创建一个函数来去除标签:
function strip_html_tags(str) {
if ((str === null) || (str === '')) {
return '';
}
return str.toString().replace(/<[^>]*>/g, '');
}
i = strip_html_tags(htmlText).indexOf(lcSearchTerm, i+1);
呼唤远方
TA贡献1856条经验 获得超11个赞
假设您要突出显示具有 id 的元素中的单词container
const el = document.getElementById('container');
el.innerHTML = el.innerHTML.replace(/searchterm/g,(w) => `<font>${w}</font>`)
添加回答
举报
0/150
提交
取消