javascript - jQuery 在搜索中突出显示单词

标签 javascript jquery

我正在尝试组合一个搜索框,当在框中输入单词时,该搜索框将突出显示元素中的单词。到目前为止,它适用于单个单词,但当某些内容包含空格时,它只能找到它的第一部分。

该代码使用插件来突出显示,但我认为问题在传递给插件以突出显示它的数据中更是如此。

我相信 data[d] 正在分割单词,并且它只找到数组中的第一个单词。

我的目标是能够搜索 super 酷(在 fiddle 中)并让它突出显示两个匹配的单词。

$("#ruleSearch").keyup(function() {

  // Split the current value of searchInput
  var data = this.value.toLowerCase().split(" ");

  if (this.value == "") {
    $('.ruleDetailsPlaceholder').unhighlight();
    return;
  }

  for (var d = 0; d < data.length; ++d) {

      // Highlight our query within the rule
    $('.ruleDetailsPlaceholder').unhighlight();
    $('.ruleDetailsPlaceholder').highlight(data[d]);

    return true;

  }
  return false;
})

fiddle :https://jsfiddle.net/g60ps0xw/

最佳答案

您可以将 this.value.toLowerCase() 存储在 data 中,然后删除循环并获得:

$('.ruleDetailsPlaceholder').unhighlight();
$('.ruleDetailsPlaceholder').highlight(data);

这是jsfiddle 。这是您要找的吗?

关于javascript - jQuery 在搜索中突出显示单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44293264/

相关文章:

javascript - 如何使用 axios 拦截器?

javascript - jQuery 日期选择器突出显示范围循环

javascript - JavaScript 包装器对象创建是轻量级的吗?

javascript - JS风格的字典初始化快捷方式?

javascript - 无法通过函数参数传递对象属性名称

php - 在不安装插件的情况下以 HTML 播放声音

javascript - 图像没有显示,即使我试图从 html 数据表中获取图像并将其显示到 div 中

jquery - 单击复选框时更改div的背景颜色

javascript - 添加数组和对象时 JS 控制台不一致

javascript - ajax响应后无法遍历对象