使用 jQuery 高亮 HTML 表格单元格及其相邻单元格


使用 jquery 高亮 html 表格单元格及其相邻单元格

本教程旨在指导开发者如何使用 jQuery 实现一个交互式表格,当用户在输入框中输入内容时,表格中匹配的单元格以及紧随其后的单元格会被高亮显示。我们将详细讲解代码实现,并提供可直接运行的示例,帮助你快速掌握该技巧。

1. HTML 结构

首先,我们需要一个包含输入框和表格的 HTML 结构。输入框用于接收用户的输入,表格则用于显示数据并进行高亮。

<div class="container">
    <div class="row">
      <div class="col-md-6">
        <label for="">Basic</label>
        <input class="form-control" type="text" name="cb" id="cb" autocomplete="off" />
      </div>
    </div>
  </div>
  <table class="table table-responsive">
    <tr>
      <td>
        <h6>Current Level</h6>
      </td>
    </tr>

    <tr>
      <td>
        <table id="le10" class="table table-responsive table-striped">
          <tr>
            <td>56100</td>
          </tr>
          <tr>
            <td>57800</td>
          </tr>
          <tr>
            <td>59500</td>
          </tr>
          <tr>
            <td>61300</td>
          </tr>
          <tr>
            <td>63100</td>
          </tr>
          <tr>
            <td>65000</td>
          </tr>
          <tr>
            <td>67000</td>
          </tr>
          <tr>
            <td>69000</td>
          </tr>
          <tr>
            <td>71100</td>
          </tr>
          <tr>
            <td>73200</td>
          </tr>
          <tr>
            <td>75400</td>
          </tr>
          <tr>
            <td>77700</td>
          </tr>
        </table>
      </td>
    </tr>
  </table>

这里使用了 Bootstrap 的 CSS 类来增强页面美观性和响应式。

2. CSS 样式

接下来,定义用于高亮单元格的 CSS 类。

.highlight {
  color: red;
  background-color: yellow;
  font-weight: bold;
}
.highlight2 {
  color: blue;
  background-color: greenyellow;
  font-weight: bold;
}

highlight 类用于高亮匹配的单元格,highlight2 类用于高亮紧随其后的单元格。可以根据实际需求调整颜色和样式。

Developr响应式HTML5后台管理模板 Developr响应式HTML5后台管理模板

Developr响应式HTML5后台管理模板基于HTML5+CSS3+jQuery制作,界面很漂亮,自动适应屏幕分辨率大小,兼容PC端和手机移动端,附带模板开发技术文档。全套模板,包含仪表盘、用户登录、用户注册、信息、议程、表格、文件浏览器、滑块与进度、表单元素、日历、活版印刷、标签、颜色与背景、图标、文件及画廊、按钮、文本编辑器、表单布局、404错误页等共36个后台模板页面。

Developr响应式HTML5后台管理模板 130 查看详情 Developr响应式HTML5后台管理模板

3. jQuery 代码

这是实现核心功能的 jQuery 代码:

$(function () {
  $('#cb').on('change keyup', function() {
    var search = $(this).val();
    $('table tr td').filter(function() {
        if($(this).text() == search){
          $(this).parent('tr').addClass('highlight');
          $(this).parent('tr').closest('tr').next().addClass('highlight2');
        }else{
          $(this).parent('tr').removeClass('highlight');
          $(this).parent('tr').closest('tr').next().removeClass('highlight2');
        }
    })
  });
});

这段代码的功能如下:

  • $(function() { ... });: 确保在 DOM 加载完成后执行代码。
  • $('#cb').on('change keyup', function() { ... });: 监听 id 为 cb 的输入框的 change 和 keyup 事件。这意味着每次输入框的值发生变化(无论是通过键盘输入还是其他方式),都会触发该函数。
  • var search = $(this).val();: 获取输入框的值并存储在 search 变量中。
  • $('table tr td').filter(function() { ... });: 选择所有表格中的 td 元素,并使用 filter() 方法进行筛选。filter() 方法允许我们根据自定义的条件选择元素。
  • if($(this).text() == search){ ... }: 在 filter() 方法的回调函数中,检查当前 td 元素的文本内容是否与输入框的值 search 相等。
  • $(this).parent('tr').addClass('highlight');: 如果 td 元素的文本内容与输入框的值相等,则为该 td 元素的父元素 tr 添加 highlight 类,实现高亮效果。
  • $(this).parent('tr').closest('tr').next().addClass('highlight2');: 找到当前td的父tr,然后使用closest('tr')确保我们仍然在同一个tr元素上,接着使用next()方法选择紧随其后的tr元素,并为其添加highlight2类,实现高亮相邻单元格的效果。
  • else{ ... }: 如果 td 元素的文本内容与输入框的值不相等,则移除 highlight 和 highlight2 类,取消高亮效果。

4. 完整代码示例




    
    
    jQuery Table Highlight
    
    




  <div class="container">
    <div class="row">
      <div class="col-md-6">
        <label for="">Basic</label>
        <input class="form-control" type="text" name="cb" id="cb" autocomplete="off" />
      </div>
    </div>
  </div>
  <table class="table table-responsive">
    <tr>
      <td>
        <h6>Current Level</h6>
      </td>
    </tr>

    <tr>
      <td>
        <table id="le10" class="table table-responsive table-striped">
          <tr>
            <td>56100</td>
          </tr>
          <tr>
            <td>57800</td>
          </tr>
          <tr>
            <td>59500</td>
          </tr>
          <tr>
            <td>61300</td>
          </tr>
          <tr>
            <td>63100</td>
          </tr>
          <tr>
            <td>65000</td>
          </tr>
          <tr>
            <td>67000</td>
          </tr>
          <tr>
            <td>69000</td>
          </tr>
          <tr>
            <td>71100</td>
          </tr>
          <tr>
            <td>73200</td>
          </tr>
          <tr>
            <td>75400</td>
          </tr>
          <tr>
            <td>77700</td>
          </tr>
        </table>
      </td>
    </tr>
  </table>

  
  <script>
    $(function () {
      $('#cb').on('change keyup', function() {
        var search = $(this).val();
        $('table tr td').filter(function() {
            if($(this).text() == search){
              $(this).parent('tr').addClass('highlight');
              $(this).parent('tr').closest('tr').next().addClass('highlight2');
            }else{
              $(this).parent('tr').removeClass('highlight');
              $(this).parent('tr').closest('tr').next().removeClass('highlight2');
            }
        })
      });
    });
  </script>




5. 注意事项和总结

  • 确保引入 jQuery 库。
  • 可以根据实际需求调整 CSS 样式和 jQuery 代码。
  • 如果表格数据量很大,可以考虑优化代码性能,例如使用缓存或节流函数。
  • closest('tr') 用于确保我们找到的是同一个表格内的下一个tr,避免在嵌套表格中出现错误。
  • 使用 change keyup 事件可以实时响应用户的输入。

通过本教程,你应该能够掌握如何使用 jQuery 高亮 HTML 表格中匹配的单元格及其相邻单元格。这个技巧可以应用于各种交互式表格应用中,提升用户体验。

以上就是使用 jQuery 高亮 HTML 表格单元格及其相邻单元格的详细内容,更多请关注其它相关文章!


# 可以根据  # 农特营销推广方案怎么写  # 北京稳定seo外包优化  # seo网络优化销售工作  # 如何制作餐馆预约网站推广  # 广告联盟网站建设游戏app  # 海口互联网推广网站搭建  # 梅州网站优化单价  # 宁波seo网站推广优化  # 西安焕新服务网站建设  # 邯郸专业做网站优化  # 全选  # 如何使用  # 表单  # 网页设计  # css  # 双击  # 后台管理  # 回调  # 输入框  # 单元格  # asic  # red  # cdn  # ai  # 回调函数  # bootstrap  # js  # html  # jquery 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894 】


相关推荐: 小红书网页版首页入口 小红书网页版电脑端官方登录链接  菜鸟裹裹怎样获得取件码_菜鸟裹裹获得取件码步骤  可米酷漫画在线阅读入口_ 可米酷漫画官网直达链接  J*a中逻辑运算符如何使用_逻辑与或非的基础用法讲解  qq邮箱格式填写示例 qq邮箱标准填写规范  HTML Canvas文本样式定制指南:解决外部字体加载与应用难题  Flexbox布局实践:实现底部页脚与顶部粘性导航条的完美结合  Teambition网盘如何共享文件  Win10如何关闭开机锁屏界面_Windows10跳过锁屏直接登录设置  抖音火山版注销账号抖音会注销吗 抖音火山版与抖音账号注销关系  《飞猪旅行》购买汽车票方法  PHP中实现JSON数据数组分页的教程  J*aScript二进制处理_ArrayBuffer与Blob  5G和6G的连接密度有什么区别 6G每平方公里能连接多少设备  如何编写一个符合 composer 规范的 post-install-cmd 脚本?  PHP动态导航按钮:根据用户登录状态切换链接与文本  鸿蒙单条备忘录如何加密  vivo手机视频通话美颜怎么设置_vivo视频通话美颜开启方法  Python模块化编程:避免循环导入与共享函数的最佳实践  cad加载的线型看不见怎么办_cad线型不可见问题解决方法  漫蛙漫画直连入口 _ manwa官方备用入口实时检测  Animex动漫社正版在线入口 Animex动漫社动漫官方观看网  智慧团建活动报名入口 智慧团建活动报名入口手机端官网​  谷歌浏览器怎么把网页翻译成中文_Chrome网页翻译功能使用方法  海棠阅读网页版_进入海棠网页版在线阅读中心  J*aScript类型数组_TypedArray使用  C++ cast类型转换总结_C++ reinterpret_cast与const_cast的使用  c++如何链接Boost库_c++准标准库的集成与使用  《海豚家》注销账号方法  PHP 4 函数中引用参数的默认值限制与解决方案  解决C#跨线程访问XML对象的异常 安全的并发XML处理模式  猫眼电影app如何参与官方的抽奖活动_猫眼电影官方抽奖参与方法  解决Pandas DataFrame高度碎片化警告:高效创建多列的策略  QQ邮箱注册地址 免费获取QQ邮箱账号  如何在Python中安全地将环境变量转换为整数并满足Mypy类型检查  画质怪兽120帧安卓和平精英免费版  sublime如何处理超大文件不卡顿 _sublime打开大日志文件技巧  word怎么将图片设置为页面背景并不影响打印_Word图片背景设置方法  Sublime Text怎么关闭自动完成_Sublime禁用Auto Complete设置  自定义你的VS Code状态栏,监控关键信息  电脑从睡眠中被自动唤醒怎么办_Windows唤醒源事件查看与禁用【解决】  PHP魔术方法__set与__isset:设计考量、性能权衡与静态分析的视角  c++20的指定初始化(Designated Initializers)怎么用_c++ C风格结构体初始化  智学网app怎么登录忘记密码_智学网app忘记密码找回与重新登录操作方法  《偃武》甘宁技能详解  macosmonterey系统外接显示器驱动怎么安装_macosmonterey外接显示器驱动与分辨率调整  微信注销后银行卡解绑了吗_微信注销后银行卡解绑状态  AO3永久镜像入口开放_AO3最新网址兼容所有浏览器  知乎APP怎么查看自己被邀请的问题_知乎APP邀请回答记录查看与参与方法  漫蛙app官方版手机正版入口-漫蛙漫画manwa在线漫画正版入口 

 2025-10-27

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.