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日

相关文章

  • 详解CSS3中强大的filter(滤镜)属性

    下面是详解CSS3中强大的filter(滤镜)属性的完整攻略。 什么是CSS3 filter属性? CSS3 filter属性是一种用于样式表中的图像滤镜。该属性可用于创建许多不同的视觉效果和处理图像。从模糊、变灰、色调、对比度等功能,到影像转换的效果,都可以使用CSS3 filter属性来实现。 CSS3 filter的语法 CSS3 filter属性有一…

    css 2023年6月10日
    00
  • div+pre标签的组合实现文本原格式显示与自动换行

    文本的原格式显示和自动换行是网页设计中非常常见的需求,可以使用div加pre标签的组合来实现。 步骤一:创建div标签,并设置样式 首先要创建一个div标签作为容器,并且设置样式。我们可以使用CSS设置它的width属性为100%,这会让div标签充满整个父容器的宽度。 <div style="width: 100%;"> &…

    css 2023年6月9日
    00
  • 标记语言——图片替换

    当我们在编写网页时,经常需要在页面中插入一些图片。这时候我们需要使用标记语言来完成图片的显示,即通过在文本中插入图片标记,让页面显示对应的图片。 1. 插入图片标记 我们可以使用标记来插入一张图片。具体格式如下: <img src="图片地址" alt="替代文本"> 其中,src属性用于指定图片地址,可以…

    css 2023年6月9日
    00
  • css仿word首字下沉效果示例

    下面我将详细讲解“CSS仿Word首字下沉效果”的完整攻略。 1. 安装必要的软件 在开始进行CSS仿Word首字下沉效果之前,我们需要安装一个文本编辑器,例如Sublime Text或者Visual Studio Code。在编辑器中安装Live Server插件,让我们可以实时在浏览器中查看代码效果。 2. 添加HTML代码 首先,我们需要添加HTML代…

    css 2023年6月10日
    00
  • 微信小程序使用canvas的画图操作示例

    我来给您详细讲解一下”微信小程序使用canvas的画图操作示例”的完整攻略。 什么是canvas? canvas是HTML5新增的一个元素,它可以让开发者在网页中创建图形,比如绘制图表、制作动画等。对于开发微信小程序,如果需要绘制图形,可以使用小程序提供的canvas组件。 如何使用canvas? 小程序提供了一个<canvas>的组件,开发者可…

    css 2023年6月11日
    00
  • js中scrollHeight,scrollWidth,scrollLeft,scrolltop等差别介绍

    当网页内容无法全部显示在浏览器视窗中时,浏览器会自动添加滚动条,让我们可以滚动页面内容。JavaScript提供了一些属性和方法来控制滚动条,其中包括scrollHeight、scrollWidth、scrollTop等属性。下面就对这些属性在JavaScript中的应用做详细介绍。 scrollHeight属性 scrollHeight属性定义元素内容的高…

    css 2023年6月10日
    00
  • CSS如何美化被选中的文字

    CSS 可以用来美化被选中的文字,例如更改选中文本的背景颜色、文本颜色等。下面是一个完整攻略,包含了如何使用 CSS 美化被选中的文字的过程和两个示例说明。 CSS 美化被选中的文字 步骤一:使用 ::selection 伪元素 要美化被选中的文字,我们可以使用 ::selection 伪元素。这个伪元素可以用来选择被用户选中的文本。我们可以使用 CSS 属…

    css 2023年5月18日
    00
  • Vue中的基础过渡动画及实现原理解析

    对于“Vue中的基础过渡动画及实现原理解析”的完整攻略,我会分为以下四个部分进行详细讲解。 一、动画介绍 在Vue中,你可以使用过渡动画来实现页面元素的动态效果。通过过渡动画,你可以让页面元素在增加、删除或更新时呈现出渐进式的动画效果。 Vue中提供了<transition>组件作为过渡动画的载体。通过在该组件中配置不同的过渡模式,你可以实现不同…

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