为了账号安全,请及时绑定邮箱和手机立即绑定

对文本进行一些更改后将 innerText 转换为 innerHTML

对文本进行一些更改后将 innerText 转换为 innerHTML

杨__羊羊 2023-01-06 15:38:59
我正在通过我的 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);


查看完整回答
反对 回复 2023-01-06
?
呼唤远方

TA贡献1856条经验 获得超11个赞

假设您要突出显示具有 id 的元素中的单词container


const el = document.getElementById('container');

el.innerHTML = el.innerHTML.replace(/searchterm/g,(w) => `<font>${w}</font>`)


查看完整回答
反对 回复 2023-01-06
  • 2 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信