:如何使用jQuery突出显示某些单词
我正在寻找一个脚本,它可以根据单词的位置突出显示一定数量的单词。 例如,对于以下内容,我只想突出显示第二个、第三个和第四个单词::如何使用jQuery突出显示某些单词,jquery,Jquery,我正在寻找一个脚本,它可以根据单词的位置突出显示一定数量的单词。 例如,对于以下内容,我只想突出显示第二个、第三个和第四个单词: <p> Quisque bibendum sem ut lacus. Integer dolor ullamcorper libero. Aliquam rhoncus eros at augue. Suspendisse vitae mauris. </p> 这是一个很好的例子。整数多洛·乌拉姆科珀·利伯罗。 阿利奎姆·朗
<p>
Quisque bibendum sem ut lacus. Integer dolor ullamcorper libero.
Aliquam rhoncus eros at augue. Suspendisse vitae mauris.
</p>
这是一个很好的例子。整数多洛·乌拉姆科珀·利伯罗。
阿利奎姆·朗库斯·厄罗斯在奥古斯。毛里斯之家酒店。
结果应该是:
<p>
Quisque <span class="highlight">bibendum sem ut</span> lacus. Integer dolor ullamcorper libero.
Aliquam rhoncus eros at augue. Suspendisse vitae mauris.
</p>
这是一个很好的例子。整数多洛·乌拉姆科珀·利伯罗。
阿利奎姆·朗库斯·厄罗斯在奥古斯。毛里斯之家酒店。
多谢各位 这个jQuery插件正是您想要的:
$('p').highlight('bibendum sem ut');
这个jQuery插件就是您想要的:
$('p').highlight('bibendum sem ut');
我编写了一个非常简单的函数,它使用jQuery来迭代使用.highlight类包装每个关键字的元素
function highlight_words(word, element) {
if(word) {
var textNodes;
word = word.replace(/\W/g, '');
var str = word.split(" ");
$(str).each(function() {
var term = this;
var textNodes = $(element).contents().filter(function() { return this.nodeType === 3 });
textNodes.each(function() {
var content = $(this).text();
var regex = new RegExp(term, "gi");
content = content.replace(regex, '<span class="highlight">' + term + '</span>');
$(this).replaceWith(content);
});
});
}
}
函数突出显示\u单词(单词、元素){
如果(字){
var文本节点;
word=word.replace(/\W/g',);
var str=word.split(“”);
$(str).每个(函数(){
var术语=此;
var textNodes=$(element).contents().filter(函数(){返回this.nodeType===3});
textNodes.each(函数(){
var content=$(this.text();
var regex=新RegExp(术语“gi”);
content=content.replace(regex,“+术语+”);
$(此).替换为(内容);
});
});
}
}
更多信息:
我编写了一个非常简单的函数,它使用jQuery迭代使用.highlight类包装每个关键字的元素
function highlight_words(word, element) {
if(word) {
var textNodes;
word = word.replace(/\W/g, '');
var str = word.split(" ");
$(str).each(function() {
var term = this;
var textNodes = $(element).contents().filter(function() { return this.nodeType === 3 });
textNodes.each(function() {
var content = $(this).text();
var regex = new RegExp(term, "gi");
content = content.replace(regex, '<span class="highlight">' + term + '</span>');
$(this).replaceWith(content);
});
});
}
}
函数突出显示\u单词(单词、元素){
如果(字){
var文本节点;
word=word.replace(/\W/g',);
var str=word.split(“”);
$(str).每个(函数(){
var术语=此;
var textNodes=$(element).contents().filter(函数(){返回this.nodeType===3});
textNodes.each(函数(){
var content=$(this.text();
var regex=新RegExp(术语“gi”);
content=content.replace(regex,“+术语+”);
$(此).替换为(内容);
});
});
}
}
更多信息:
谢谢您的回答!我只知道要突出显示的单词的位置,但不知道单词本身。例如,如果我想突出一个短语的第10到第15个单词…谢谢你的回答!我只知道要突出显示的单词的位置,但不知道单词本身。例如,如果我想突出显示短语的第10到15个单词。。。