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日

相关文章

  • jQuery实现的淡入淡出图片轮播效果示例

    下面我来详细讲解如何实现“jQuery实现的淡入淡出图片轮播效果示例”这个任务。 任务概述 在这个任务中,我们将用 jQuery 实现一个图片轮播的效果。图片会以淡入淡出的方式进行切换。用户还可以通过向左/向右箭头控制轮播的方向,并且鼠标悬停在图片上时,轮播效果会暂停。 实现步骤 首先,我们需要编写 HTML 和 CSS,来展示轮播的图片和箭头。HTML代码…

    css 2023年6月11日
    00
  • jQuery+CSS3实现四种应用广泛的导航条制作实例详解

    下面给出“jQuery+CSS3实现四种应用广泛的导航条制作实例详解”的完整攻略。 1.前言 导航条是Web页面中非常重要的组成部分,良好的导航条可以让用户更加方便快捷地进行网站浏览。以下攻略介绍了使用jQuery和CSS3制作四种常见的导航条的方法,包括菜单栏、列表导航、圆形导航和响应式导航。 2.实现方法 2.1菜单栏 菜单栏是Web页面中最常见的导航条…

    css 2023年6月10日
    00
  • HTML超链接标签(a标签)详解

    HTML超链接标签<a>用于添加链接到网页上,并可以链接到其他网页、文档、图像、音频、视频等。 基本语法 <a href="链接地址">链接文本</a> 其中, href 属性表示链接地址,可以是绝对路径或相对路径,也可以是外部网址。链接文本是可选的,可以是文字、图片等。 示例代码: 超链接到外部网址:…

    Web开发基础 2023年3月15日
    00
  • html+css实现赛博朋克风格按钮

    下面是实现赛博朋克风格按钮的完整攻略: 准备工作 在开始实现之前,我们需要准备一些基础工作: 编辑器:推荐使用VS Code、Sublime Text等编辑器 浏览器:推荐使用Google Chrome、Firefox等现代化浏览器 知识储备:需要掌握 HTML、CSS 基础知识 步骤一:创建 HTML 结构 首先,我们需要创建一个 HTML 结构,如下所示…

    css 2023年6月9日
    00
  • 解决搜索框和搜索按钮button边框不能重合的问题

    要解决搜索框和搜索按钮 button 边框不能重合的问题,可以采用以下几种方法: 1. 设置 input 元素的边框为 none 在CSS中,可以通过设置input元素的边框为 none,来使得搜索框和按钮的边框重合。具体代码如下: input { border: none; } 这样设置后,输入框的边框会消失,搜索按钮的边框则会和输入框的边框重合。但是需要…

    css 2023年6月10日
    00
  • 跟我学习javascript的prototype使用注意事项

    当使用JavaScript的面向对象编程时,prototype在实现继承和方法重载等方面起着关键作用。下面是跟我学习JavaScript的prototype使用注意事项的完整攻略。 什么是prototype? 在JavaScript中,每个对象都有一个prototype,原型链的顶端是Object.prototype对象。prototype对象定义了该对象的…

    css 2023年6月9日
    00
  • javascript实现对表格元素进行排序操作

    要实现JavaScript对表格元素进行排序操作,需要遵循以下步骤: 步骤一:为表格添加排序功能 在表格的表头中添加一个或多个可以点击的元素,当用户点击时,触发相应的函数对表格数据进行排序操作。可以使用JavaScript的addEventListener()方法为这些元素添加事件监听器,代码示例如下: var headers = document.quer…

    css 2023年6月9日
    00
  • jquery实现可点击伸缩与展开的菜单效果代码

    这里简单讲解一下如何使用jQuery实现可点击伸缩与展开的菜单效果。 概述 这里将展示如何通过jQuery来实现一个可点击伸缩与展开的菜单效果,步骤如下: HTML结构:设置菜单的HTML结构,包含一级菜单和二级菜单。 CSS样式:设置菜单的样式,使之具备可伸缩和展开的效果。 jQuery脚本:通过jQuery脚本来实现菜单的点击伸缩与展开效果。 HTML结…

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