【问题标题】:Highlighting Text on a Web Page突出显示网页上的文本
【发布时间】:2016-01-07 19:00:42
【问题描述】:

我有一个页面需要突出显示一些注释。

服务返回的注释:“Golf”、“Cricket”、“Ice Hockey”

内容: Peter likes to play Golf, Cricket and < b >Ice < /b > Hockey

所以我从jsfiddle使用了这个脚本

$('p').highlight(['Golf','Cricket','Ice Hockey']);

这工作正常,直到在其间遇到另一个子标签 ()。高尔夫和板球将突出显示,但冰球不会突出显示。有没有一种方法可以让冰球也被突出显示而忽略 html 标签?

【问题讨论】:

标签: javascript highlight


【解决方案1】:

http://jsfiddle.net/Q8WS5/560/

问题是 jQuery 为 <p> 调用库三次,直到 <strong> 一次,为粗体字,再次为结尾。

因此,该库将不得不离开,您将不得不重写另一个库。 您需要使用 .text() 来返回没有 html 的文本。

$('span').text().indexOf("Ice Hockey"));

【讨论】:

  • 感谢您的快速回复。所以我用了你分享的小提琴。内容:

    我们来测试一下highlight功能

    |高亮术语:$('p').highlight(['highlight function']); |文本“突出显示功能”未能按要求突出显示。任何帮助将不胜感激。
  • 我没有制作功能齐全的小提琴。刚刚添加了几个 console.log 来告诉你为什么它不起作用。查看我对您的问题的评论,以及指向更多答案的 SO 链接。
  • jsfiddle.net/UPs3V 运行良好,虽然看起来它只突出了第一个实例。查看代码并尝试迭代。否则它会按照我想要的方式工作。
【解决方案2】:

尝试其他方式..

HTML

<p>Peter likes to play Golf, Cricket and <b>Ice </b> Hockey <p>

javascript

$('p').highlight(['Golf','Cricket','Ice','Hockey']);

这可以接受吗..

DEMO

【讨论】:

  • 其实没有。我们将把术语“冰球”放在一起,否则脚本也会开始突出显示所有出现的冰球和曲棍球。
猜你喜欢
  • 1970-01-01
  • 2015-10-17
  • 2012-08-22
  • 2021-12-01
  • 1970-01-01
  • 2023-01-24
  • 2012-12-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多