【发布时间】:2015-11-14 19:07:51
【问题描述】:
我有一个关键字列表,然后是页面上包含这些关键字的句子列表。我想让关键字列表可点击。当用户点击一个关键字时,该关键字的所有出现都会在句子中突出显示。
如何使用 jQuery 或原始 Javascript 做到这一点?
我能想到的唯一方法是用一个包含自身作为类名的类来包装页面上的每个单词。然后制作关键字按钮,将突出显示类添加到匹配的单词类中。这可能有效,但似乎有很多不必要的代码注入。
关键字列表
<button>this</button>
<button>example</button>
句子
<span class='word_this'>This</span> <span class='word_is'>is</span> <span class='word_an'>an</span> <span class='word_example'>example</span>.
【问题讨论】:
-
当您说“突出显示”时,您的意思是添加样式还是选择那些词? (对于前者,你不应该担心节点注入,浏览器可以处理。对于后者,它可能是一个复杂的脚本,可能比前者更消耗)
-
以下是您正在寻找的确切答案。 stackoverflow.com/a/45519242/2792959
-
这是您正在寻找的答案。也有自定义CSS。 stackoverflow.com/a/45519242/2792959
标签: javascript jquery css highlighting