Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中突出显示给定长字符串中的特定字符串_Javascript_Html_Css_Highlight - Fatal编程技术网

在Javascript中突出显示给定长字符串中的特定字符串

在Javascript中突出显示给定长字符串中的特定字符串,javascript,html,css,highlight,Javascript,Html,Css,Highlight,我有一个长字符串和一个其他字符串的列表,我需要在长字符串中标记这些字符串。 假设我们有abcdefghijk,我需要标记的字符串是ghi和abc 在Javascript和CSS中最简单的方法是什么?我考虑使用exec()方法返回长字符串中字符串的起始索引 然后,我会有开始索引和字符串的大小。所以,我可以在长串中找到它。我如何突出显示它?可能使用CSS?如果您知道字符串开头的索引和长度,您只需在其周围放置span标记即可。因此,您的HTML将如下所示: <span class="highli

我有一个长字符串和一个其他字符串的列表,我需要在长字符串中标记这些字符串。 假设我们有
abcdefghijk
,我需要标记的字符串是
ghi
abc

在Javascript和CSS中最简单的方法是什么?我考虑使用
exec()
方法返回长字符串中字符串的起始索引


然后,我会有开始索引和字符串的大小。所以,我可以在长串中找到它。我如何突出显示它?可能使用CSS?

如果您知道字符串开头的索引和长度,您只需在其周围放置span标记即可。因此,您的HTML将如下所示:

<span class="highlight">abc</span>def<span class="highlight">ghi</span>jk
你可以试试这个插件。这真的很简单

如何使用它

1-下载插件

(2 KB)并在之后的页面中引用它

2-设置突出显示类的样式

在CSS工作表中创建一个条目:

.highlight { background-color: yellow }
3-突出显示术语/短语

使用要高亮显示的文本调用highlight函数。要突出显示表单元素中出现的所有“ghi”(不区分大小写),请使用以下代码:

$('form').highlight('ghi');
4-删除突出显示

可以使用removeHighlight功能从任何元素中删除高光。在本例中,ID为highlight plugin的元素下的所有高亮显示都将被删除

$('#highlight-plugin').removeHighlight();

jQuery有一个很好的例子。代码非常简短,因此您可以根据自己的需要对其进行调整。是的,但当您在长字符串中找到字符串时,应该这样做。你说你已经得到了索引和长度。看看@Tyilo的答案,它解释了如何将span标记粘贴到长字符串中
$('#highlight-plugin').removeHighlight();