jquery 输入框查找关键字并提亮颜色的实例代码

首先,我们需要引入jQuery库,因为我们将使用jQuery库的一些方法。

<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

然后,我们需要在HTML中定义一个输入框和一个展示搜索结果的容器:

<input type="text" id="search-input">
<div id="search-result">
<!-- 这里是搜索结果展示的容器 -->
</div>

接下来,我们需要监听输入框的“input”事件,每当输入框的值改变时,就触发一个函数来处理搜索并展示结果。

$('#search-input').on('input', function() {
  var keyword = $(this).val(); // 获取输入框中的值
  var resultHtml = searchAndHighlight(keyword); // 对关键字进行搜索和高亮,并返回搜索结果的HTML代码
  $('#search-result').html(resultHtml); // 将搜索结果展示到容器中
});

我们需要定义一个searchAndHighlight函数,该函数接收一个关键字作为参数,搜索整个网页中包含该关键字的内容,并对其进行高亮。

function searchAndHighlight(keyword) {
  var resultHtml = ''; // 存储搜索结果的HTML代码
  if (keyword) {
    // 如果输入框中有内容
    $('body *').each(function() {
      var text = $(this).text(); // 获取元素的文本内容
      var index = text.indexOf(keyword); // 判断文本内容中是否包含关键字
      if (index >= 0) {
        // 如果包含,则对关键字进行高亮处理
        var start = index; // 获取关键字在文本中的起始位置
        var end = index + keyword.length - 1; // 获取关键字在文本中的结束位置
        var before = text.substring(0, start); // 截取关键字前面的部分
        var middle = text.substring(start, end + 1); // 截取包含关键字的部分
        var after = text.substring(end + 1); // 截取关键字后面的部分
        resultHtml += before + '<span class="highlight">' + middle + '</span>' + after; // 将三部分拼接起来,中间部分用span标签高亮处理
      } else {
        // 如果不包含,则直接将元素的文本内容展示到搜索结果中
        resultHtml += text;
      }
    });
  }
  return resultHtml;
}

最后,我们需要定义一个CSS样式,来为高亮的部分增加样式:

.highlight {
  background-color: yellow;
}

示例一:

如果用户输入的关键字为“JavaScript”,则搜索结果将会展示整个页面中包含“JavaScript”的内容,并对其中的关键字进行高亮处理。

示例二:

如果用户输入的关键字为“HTML”,则搜索结果将会展示整个页面中包含“HTML”的内容,并对其中的关键字进行高亮处理。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jquery 输入框查找关键字并提亮颜色的实例代码 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • js实现弹窗插件功能实例代码分享

    JS实现弹窗插件功能是一个非常常见也是较为基础的前端开发技能,在本篇攻略中,我们将讨论实现弹窗插件的步骤,并提供两个示例说明。 一、实现弹窗插件的基本思路 实现弹窗插件的基本思路可以分为以下几步: 编写HTML、CSS和JS代码,分别定义弹窗模板,弹窗样式和弹窗功能; 使用JS代码绑定事件,当用户点击需要弹窗的元素时,触发弹窗功能; 使用JS代码动态生成弹窗…

    css 2023年6月10日
    00
  • JS实现九宫格拼图游戏

    如何实现JS九宫格拼图游戏? 前置知识: HTML、CSS、JS基础 DOM操作 事件监听 游戏规则: 将原图分成N * N(N >= 3)个拼图块 每个拼图块可以通过与空白块交换位置来移动 目标是将所有的拼图块移动到正确的位置,还原原图形 实现步骤: 3.1 HTML基本结构 通过HTML代码搭建游戏基本框架 将原图划分成若干个小块,并将它们放置到九…

    css 2023年6月11日
    00
  • 仅使用CSS做到完全居中的超级攻略

    仅使用CSS做到完全居中的超级攻略 在Web开发中,居中是一个非常常见的需求,本攻略将详细讲解如何仅使用CSS做到完全居中,包括水平居中和垂直居中的实现方法,以及两个示例说明。 1. 水平居中的实现方法 1.1. 行内元素的水平居中 对于行内元素,可以使用text-align属性来实现水平居中。例如: div { text-align: center; } …

    css 2023年5月18日
    00
  • 罗技g502鼠标灵敏度怎么设置?

    罗技g502鼠标灵敏度设置攻略 如果你使用罗技g502鼠标,你可能想要调整它的灵敏度来适应你的游戏风格。在本文中,我们将提供罗技g502鼠标灵敏度设置的完整攻略。 步骤一:下载罗技G HUB软件 在你尝试调节罗技g502鼠标的灵敏度之前,你需要先下载并安装罗技G HUB软件。该应用程序可以让你轻松地自定义和控制你的罗技设备。你可以在罗技官网下载G HUB软件…

    css 2023年6月9日
    00
  • CSS3之transition实现下划线的示例代码

    下面是“CSS3之transition实现下划线的示例代码”的详细攻略: 一、什么是transition transition是CSS3中的一个属性,可以用来设置CSS的过渡效果。它可以在元素的属性发生变化时,平滑地过渡到新的状态。常见的应用包括鼠标悬停时,改变文字和背景色等。 二、transition实现下划线代码 下面是一个使用transition实现下…

    css 2023年6月13日
    00
  • css实现两列固定与一列自适应的几种方法

    CSS实现两列固定和一列自适应是前端开发中一个常见的案例。以下是几种实现方法: 方法一:使用float属性 使用float属性可以将左右两列设置为固定宽度,中间一列设置为自适应宽度。具体步骤如下: HTML结构: <div class="container"> <div class="left-column&q…

    css 2023年6月10日
    00
  • 对未知高度的图片设置垂直居中的方法详解

    下面是「对未知高度的图片设置垂直居中的方法详解」的攻略: 1. 使用CSS3的Transform属性 我们可以使用CSS3的Transform属性来实现垂直居中的效果。具体的做法是: 将图片设置为绝对定位,然后设置父元素的position属性为相对定位。接着,设置图片的top和left值为50%,并使用Transform属性进行平移。 代码示例: HTML …

    css 2023年6月10日
    00
  • 解析CSS中的Grid布局完全指南

    解析CSS中的Grid布局完全指南攻略 简介 Grid布局是CSS3新引入的一种用于网页布局的方式,它可以精确的控制网页元素的位置和大小,让页面布局更为灵活和可控。本文将详细讲解Grid布局的使用方法和注意事项。 基本用法 首先,我们需要将一个容器标记为Grid布局,我们可以通过在容器上设置display: grid来实现: .container { dis…

    css 2023年6月13日
    00
合作推广
合作推广
分享本页
返回顶部