当前位置: 首页 > news >正文

【油猴脚本】00006 案例 Tampermonkey油猴脚本自定义表格列名称,自定义表格表头,自定义表格的thead里的td

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕

共同探索软件研发!敬请关注【宝码香车】
csdngif标识

目录

  • 【油猴脚本】00006 案例 Tampermonkey油猴脚本自定义表格列名称,自定义表格表头,自定义表格的thead里的td
  • 📚一、效果
  • 📚二、核心解析
    • 💡1.添加按钮"编辑表格-列":
    • 💡2.添加弹出框:
  • 📚三、完整源代码,可以直接复制使用
    • ✍️JavaScript
  • 📚四、使用此代码


📚💡📝🗂️✍️🛠️💻🚀🎉🏗️🌐🖼️🔗📊👉🔖⚠️🌟🔐⬇️·正文开始⬇️·🎥😊🎓📩😺🌈🤝🤖📜📖📋🔍✅🧰❓📄📢📈 🙋1️⃣2️⃣3️⃣

【油猴脚本】00006 案例 Tampermonkey油猴脚本自定义表格列名称,自定义表格表头,自定义表格的thead里的td

📚一、效果

原表格

编辑表格列描述


📚二、核心解析

💡1.添加按钮"编辑表格-列":

添加 按钮的html代码

 <div  class="toolsArea"><span id="editCols" class="editCols">编辑表格-列</span></div>

添加 按钮的css代码

.toolsArea{padding:10px;background:#f5f5f5;}

💡2.添加弹出框:

弹出框的主体html

  //弹出框,编辑表格-列let editTableCols = `<div class="modal" id="editTableColsModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><h4 class="modal-title" id="myModalLabel">编辑表格-列</h4><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true" class="colseBtn">&times;</span></button></div><form class="modal-body"></form><div class="modal-footer"><button type="button" class="btn btn-default colseBtn" data-dismiss="modal">关闭</button><button type="button" id="btn_submit" class="btn btn-primary" data-dismiss="modal">保存</button></div></div></div></div>`

呈现的效果

描述

弹出框的内容html

  //动态渲染多列函数const colsMoreRender = (strArrOpt)=>{let str = ''for(const x of strArrOpt){str += colsRender(x)}return str;}//渲染多列let colsMoreStr = colsMoreRender(tableColsArr)$('#editTableColsModal .modal-body').html(colsMoreStr)

呈现的效果

在这里插入图片描述

读取数据并添加弹出框的事件

  // 点击-编辑列按钮$("#editCols").click(function(){$('#editTableColsModal').show() //打开弹出窗口})// 点击-关闭按钮$(".colseBtn").click(function(){$('#editTableColsModal').hide() //关闭弹出窗口})// 点击-保存按钮$("#btn_submit").click(function(){let editData = $('#txt_name').val(); //获取编辑的数据$('#editTableColsModal').hide() //关闭弹出窗口let renderColHtml = initCols(getFormData())//渲染到页面上$('#test_table').html(renderColHtml);})

📚三、完整源代码,可以直接复制使用

✍️JavaScript

// ==UserScript==
// @name         动态渲染表格-实现页面动态,添加,删除表格列
// @namespace    http://tampermonkey.net/
// @version      2024-09-12
// @description  动态渲染表格
// @author       CSDN@宝码香车
// @match        https://developer.mozilla.org/zh-CN/
// @resource bootstrapCss https://apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.css
// @require      https://code.jquery.com/jquery-1.9.1.min.js
// @require      https://www.jeasyui.com/easyui/jquery.easyui.min.js
// @grant        GM_addStyle
// @grant        GM_getResourceText
// @run-at       document-end
// ==/UserScript==(function () {'use strict';let tableHtml = `<div class="col-md-8 table-card" style="padding:1em;"><div id="draggableArea">拖拽这里移动表格</div><div  class="toolsArea"><span id="editCols" class="editCols">编辑表格-列</span></div><div class="table-responsive"><table class="table table-bordered table-striped" id="test_table"></table></div></div>`let cssMore = `#draggableArea,.toolsArea{padding:10px;background:#f5f5f5;}.table-card{position:fixed;left:100px;top:150px;z-index:100;background:#fff;box-shadow: 0px 0px 0 10px #E95C8A;}.editCols{padding: 2px 5px;background:#f5f5f5;}.modal-body{height:300px;overflow-y: scroll;}`let bsCss = GM_getResourceText('bootstrapCss')GM_addStyle(bsCss)GM_addStyle(cssMore)$('body').append(tableHtml)$('.table-card').draggable({handle: '#draggableArea'})// 初始化列const initCols = (strArr)=>{let addTableHtml = `<thead><tr>`for (const x of strArr) {addTableHtml += `<td>${x}</td>`;}addTableHtml += `</tr></thead>`;addTableHtml += '<tbody><tr>'for (const y of strArr) {addTableHtml += `<td>默认无值</td>`;}addTableHtml += `</tr></tbody>`return addTableHtml}//定义表格列let tableColsArr = ['姓名','省份','城市','性别','职业','年龄']let initColHtml = initCols(tableColsArr)// 把动态渲染的表格内容,添加到页面中的table位置$('#test_table').html(initColHtml);//弹出框,编辑表格-列let editTableCols = `<div class="modal" id="editTableColsModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><h4 class="modal-title" id="myModalLabel">编辑表格-列</h4><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true" class="colseBtn">&times;</span></button></div><form class="modal-body"></form><div class="modal-footer"><button type="button" class="btn btn-default colseBtn" data-dismiss="modal">关闭</button><button type="button" id="btn_submit" class="btn btn-primary" data-dismiss="modal">保存</button></div></div></div></div>`//动态渲染列const colsRender = (optionStr)=>{let str = `<div class="form-group"><div class="item"><span>列名称:</span><input type="text"  class="form-control"  value="${optionStr}"> </div></div>`return str;}//动态渲染多列函数const colsMoreRender = (strArrOpt)=>{let str = ''for(const x of strArrOpt){str += colsRender(x)}return str;}//渲染多列let colsMoreStr = colsMoreRender(tableColsArr)$('body').append(editTableCols); //弹出窗口添加到页面中$('#editTableColsModal .modal-body').html(colsMoreStr)//获取修改的数据const getFormData = ()=>{let strArr = []$('#editTableColsModal .modal-body .form-group input').each(function(idx,eleItm){let formName = $(eleItm).val();strArr.push(formName)})return strArr;}// 点击-编辑列按钮$("#editCols").click(function(){$('#editTableColsModal').show() //打开弹出窗口})// 点击-关闭按钮$(".colseBtn").click(function(){$('#editTableColsModal').hide() //关闭弹出窗口})// 点击-保存按钮$("#btn_submit").click(function(){let editData = $('#txt_name').val(); //获取编辑的数据$('#editTableColsModal').hide() //关闭弹出窗口let renderColHtml = initCols(getFormData())//渲染到页面上$('#test_table').html(renderColHtml);})// Your code here...
})();

📚四、使用此代码

1.浏览器打开https://developer.mozilla.org/zh-CN/
2.把代码复制进油猴脚本,打开运行开关,刷新页面

  • 安装教程:👉 https://blog.csdn.net/qq_33650655/article/details/142097760
  • 使用教程:👉 https://blog.csdn.net/qq_33650655/article/details/142183047

到此这篇文章就介绍到这了,更多精彩内容请关注本人以前的文章或继续浏览下面的文章,创作不易,如果能帮助到大家,希望大家多多支持宝码香车~💕,若转载本文,一定注明本文链接。


整理不易,点赞关注宝码香车

更多专栏订阅推荐:
👍 html+css+js 绚丽效果
💕 vue
✈️ Electron
⭐️ js
📝 字符串
✍️ 时间对象(Date())操作

相关文章:

【油猴脚本】00006 案例 Tampermonkey油猴脚本自定义表格列名称,自定义表格表头,自定义表格的thead里的td

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 【油…...

JS - 获取剪切板内容 Clipboard API

目录 1&#xff0c;需求最终效果 2&#xff0c;实现示例 3&#xff0c;注意点1&#xff0c;只支持安全上下文环境2&#xff0c;只能读取当前页面的剪切板3&#xff0c;权限获取问题4&#xff0c;获取内容的 MIME_TYPE 问题1&#xff0c;文本内容2&#xff0c;图片内容 5&#x…...

Qt自动打开文件夹并高亮文件

在Qt中&#xff0c;如果你想要打开一个文件夹并在文件管理器中高亮显示&#xff08;选中&#xff09;某个文件&#xff0c;你可以使用以下方法&#xff1a; 对于Windows系统&#xff0c;你可以使用QProcess来启动explorer命令&#xff0c;并带上/select,参数来高亮显示文件。以…...

神经网络-MNIST数据集训练

文章目录 一、MNIST数据集1.数据集概述2.数据集组成3.文件结构4.数据特点 二、代码实现1.数据加载与预处理2. 模型定义3. 训练和测试函数4.训练和测试结果 三、总结 一、MNIST数据集 MNIST数据集是深度学习和计算机视觉领域非常经典且基础的数据集&#xff0c;它包含了大量的手…...

数据结构二

求 sizeof(name1)&#xff1f;(晟安信息) struct name1{ char str; short x; int num; }; sizeof name1内存对齐 8个字节 char分配8个字节 然后 short节省空间在4个字节中 而这个int独自分配分配内存 4个字节所以共8个字节 (电工时代) typedef struct _a { char c1; long i…...

Python|基于Kimi大模型,删除已上传的“指定文档”或“全部文档”(6)

前言 本文是该专栏的第6篇,后面会持续分享AI大模型干货知识,记得关注。 在本专栏上一篇《Python|基于Kimi大模型,实现上传文档并进行对话(5)》中,笔者有详细介绍“基于kimi大模型,上传指定文档并结合prompt,获取目标文本数据”。对此感兴趣的同学,可以直接点击翻阅查…...

CenterPoint-KITTI:环境配置、模型训练、效果展示;KITTI 3D 目标检测数据集下载

目录 前言 Python虚拟环境创建以及使用 KITTI3D目标检测数据集 CenterPoint-KITTI编译遇到问题合集 ImportError: cannot import name VoxelGenerator from spconv.utils 失败案例 最终解决方案 对于可选参数&#xff0c;road plane的处理 E: Unable to locate packag…...

【Android】ViewPager

1.ViewPager的简介和作用 ViewPager是android扩展包v4包中的类&#xff0c;这个类可以让用户左右切换当前的view&#xff0c;用于允许用户在几个页面&#xff08;或称为碎片&#xff09;之间左右滑动切换。它通常用于创建像画廊或轮播图那样的用户体验。 ViewPager类直接继承了…...

[go] 命令模式

命令模式 将“请求”封装成对象&#xff0c;以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 模型说明 触发者类负责对请求进行初始化&#xff0c;其中必须包含一个成员变量来存储对于命令对象的引用。触发命令&#xff0c;而不同接受者直接…...

代码随想录冲冲冲 Day48 单调栈Part2

42. 接雨水 关键点有以下几个 首先是怎么去理解接雨水 其实就是找每一个段的左边第一个最大值和右边第一个最大值 既然是最大值 那么单调栈就是递增的 左边第一个最大值其实就是pop掉中间的之后st.top 由于是出现大于等于情况时候进行操作 所以右边最大值就是i 接下来就…...

企业内训|Nvidia智算中心深度技术研修-某智算厂商研发中心

课程概述 此企业内训课程“Nvidia智算中心的深度技术研修”专为某智算厂商研发中心设计&#xff0c;内容涵盖了从基础设施构建到高性能计算优化的全方位技术要点。课程为期七天&#xff0c;分模块详细讲解了NV算力资源的网络架构、存储优化、智算集群的建设与自动化管理、NCCL…...

《算法笔记》例题解析 第3章入门模拟--3图形输出(9题)2021-03-03

例题 旋转方阵 题目描述 Time Limit: 1000 ms Memory Limit: 256 mb 打印出一个旋转方阵,见样例输出。 输入描述: 输入一个整数n(1 < n < 20), n为方阵的行数。 输出描述: 输出一个大小为n*n的距阵 输入 5 输出 1 16 15 14 13 2 17 24 23 12 3 18 25 22 11 4 1…...

合宙Air201模组LuatOS:PWRKEY控制,一键解决解决关机难问题

不知不觉间&#xff0c;我们已经发布拉期课程&#xff1a;hello world初体验&#xff0c;点灯、远程控制、定位和扩展功能&#xff0c;你学的怎么样&#xff1f;很多伙伴表示已经有点上瘾啦&#xff01;合宙Air201&#xff0c;如同我们一路升级打怪的得力法器&#xff0c;让开发…...

Kafka 命令详解及使用示例

文章目录 Kafka 命令详解及使用示例Kafka 命令详解kafka-topics.sh&#xff1a;主题管理创建主题创建带副本的主题修改主题分区数了解分区分布列出主题查看主题详情删除主题 kafka-console-producer.sh&#xff1a;消息生产者发送消息到主题带键值对的消息消息生产性能优化带分…...

重生归来之挖掘stm32底层知识(1)——寄存器

概念理解 要使用stm32首先要知道什么是引脚和寄存器。 如下图所示&#xff0c;芯片通过这些金属丝与电路板连接&#xff0c;这些金属丝叫做引脚。一般做软件开发是不需要了解芯片是怎么焊的&#xff0c;只要会使用就行。我们平常通过编程来控制这些引脚的输入和输出&#xff0c…...

Qt构建JSON及解析JSON

目录 一.JSON简介 JSON对象 JSON数组 二.Qt中JSON介绍 QJsonvalue Qt中JSON对象 Qt中JSON数组 QJsonDocument 三.Qt构建JSON数组 四.解析JSON数组 一.JSON简介 一般来讲C类和对象在java中是无法直接直接使用的&#xff0c;因为压根就不是一个规则。但是他们在内存中…...

合宙Air201模组LuatOS扩展功能:温湿度传感器篇!

通过前面几期的学习&#xff0c;同学们的学习热情越来越高。 合宙Air201模组除了支持3种定位方式外&#xff0c;还具有丰富的扩展功能&#xff0c;比如&#xff1a;通过外扩BTB链接方案&#xff0c;最多可支持21个IO接口&#xff1a;SPI、I2C、UART等多种接口全部支持。 本期…...

主流敏捷工具scrum工具

在当今的快速变化和高需求的业务环境中&#xff0c;敏捷开发已经成为许多企业实现快速迭代和响应市场需求的重要方法。而在众多敏捷工具中&#xff0c;选择适合自己团队的工具尤为重要。 今天&#xff0c;我们将对比几款主流的敏捷工具&#xff0c;供参考 1. Leangoo领歌&…...

探索微服务架构:从理论到实践,深度剖析其优缺点

微服务架构&#xff08;Microservice Architecture&#xff09;是一种软件开发架构形式&#xff0c;它的核心 思想是将大型应用程序拆分成一组小的服务&#xff0c;每个服务都运行在其独立的进程中&#xff0c;并且 服务与服务之间通过轻量级的通信机制&#xff08;如HTTP REST…...

2024 年最佳 Chrome 验证码扩展,解决 reCAPTCHA 问题

验证码&#xff0c;特别是 reCAPTCHA&#xff0c;已成为在线安全的不可或缺的一部分。虽然它们在区分人类和机器人方面起着至关重要的作用&#xff0c;但它们也可能成为合法用户和从事网络自动化的企业的主要障碍。无论您是试图简化在线体验的个人&#xff0c;还是依赖自动化工…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...