javascript - 使用 jquery 突出显示搜索文本

标签 javascript jquery html search colors

我正在尝试实现搜索表格,我在网上找到了答案并尝试了一下,效果很好!

现在我想突出显示(更改文本颜色:文本颜色类=蓝色文本)在表格单元格中找到的搜索关键字,我搜索了这个答案,但没有找到任何有用的东西!

我的 HTML 是

<table class="stdtable">
  <tr>
    <td id="stdname">Name</td>
    <td id="stdreg">Reg. No.</td>
    <td id="stdparent">Parent</td>
    <td id="stdgrp">Group</td>
    <td id="action">Action</td>
  </tr>
</table>

而 Jquery 是

$("#filter").on("keyup", function() {
    var searchKey = $(this).val().toLowerCase();
    $(".stdtable tr #stdname").each( function() {
        var searchStr = $(this).text().toLowerCase();
        if (searchStr.indexOf(searchKey)!=-1) {
            $(this).parent().show();
        }
        else {
            $(this).parent().hide();
        }
    });
});

如何突出显示搜索到的文本? 如果我搜索N名称中的文本N应该改变颜色

如果我清除搜索字段,我还需要清除文本的颜色

最佳答案

我不知道你的设置,但我会让一个类“突出显示” 并为此类提供属性:color: blue; 或您想要获得特殊结果的任何其他 css 属性。 然后

$("#stdname").addClass("highlighted");

$("#stdname").removeClass("highlighted");

当您删除搜索字段时

编辑:将以上内容留给需要所有文本的人。

你可以采取

var s = $(this).val();
var txt = $("#stdname").val().replace(s, '<span style="color: blue">' + s +  '</span>');
$("#stdname").val(txt);

请注意,如果每次按键启动时不从 $("#stdname").val() 中删除 span 语句,最终会出现奇怪的行为

关于javascript - 使用 jquery 突出显示搜索文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43287466/

相关文章:

html - 仅使用 html/css 更改悬停时的 Google Material Icon

html - 为页面上的每种文本样式和性能使用字体框架?

javascript - Node、Bluebird Promises、MySQL 以及喝一杯烈性酒的必要性

javascript - 在 Windows XP 或 2003 上的 IE 8 上检索对象数据时出现问题

javascript - 如何更改电子邮件的 html5 模式错误消息

javascript - HTML 更改时验证限制复选框不起作用

javascript - 二次JS表单提交调用

javascript - 如何在 AngularJS 中通过 ID 从父 Controller 中选择选项

javascript - Jquery:从链接获取文本文件并查看它是否包含输入值

html - 缩小并安装在新行中时将两个 DIV 居中