【发布时间】:2017-08-29 08:06:36
【问题描述】:
字符串中有一些相似的词,我只需要突出显示其中的一个词。我有这个特定单词的索引值。我正在为此使用 Mark JS。我需要在标记 JS 函数的过滤器部分执行此操作。但不确定如何在过滤时获取每个单词的索引值。
这是要测试的fiddle
代码 JS
$(function() {
$content = $(".content"),
currentIndex = 0;
var indexVal = 40;
$('#markBtn').on("click", function() {
var searchVal = " ipsum ";
$content.unmark({
done: function() {
console.log("unmark")
$content.mark(searchVal, {
"element": "span",
"className": "mark",
"accuracy": "partially",
"iframes": true,
"ignoreJoiners": true,
"acrossElements": true,
"separateWordSearch": true,
"diacritics": false,
"filter": function (textNode, foundTerm, totalCounter, counter) {
console.log("marks - filter " + textNode+" "+foundTerm);
//check indexVal with foundTerm and return true
return true;
},
"each": function (node) {
console.log("marks - each " + node);
},
"done": function() {
console.log("marks - done ");
}
});
}
});
});
});
HTML
<div class="header">
Mark second word 'ipsum' in the text below.
<button id="markBtn">Mark Text</button>
</div>
<div class="content">
<p>Lorem ipsum dolor sit amet, consectetur ipsum adipiscing elit ipsum.</p>
</div>
【问题讨论】:
标签: javascript jquery highlight