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

文档操作方法得合理使用

博主介绍:✌全网粉丝5W+,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验✌

博主作品:《Java项目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+MySQL+Vue等前后端分离项目,可以在左边的分类专栏找到更多项目。《Uniapp项目案例》有几个有uniapp教程,企业实战开发。《微服务实战》专栏是本人的实战经验总结,《Spring家族及微服务系列》专注Spring、SpringMVC、SpringBoot、SpringCloud系列、Nacos等源码解读、热门面试题、架构设计等。除此之外还有不少文章等你来细细品味,更多惊喜等着你哦

🍅uniapp微信小程序🍅面试题软考题免费使用,还可以使用微信支付,扫码加群。由于维护成本问题得不到解决,可能将停止线上维护。

🍅文末获取联系🍅精彩专栏推荐订阅👇🏻👇🏻 不然下次找不到哟

Java项目案例《100套》
https://blog.csdn.net/qq_57756904/category_12173599.html
uniapp小程序《100套》

https://blog.csdn.net/qq_57756904/category_12173599.html

有需求代码永远写不完,而方法才是破解之道,抖音有实战视频课程,某马某千等培训都是2万左右,甚至广东有本科院校单单一年就得3万4年就12万学费,而且还没有包括吃饭的钱。所以很划算了。另外博客左侧有源码阅读专栏,对于求职有很大帮助,当然对于工作也是有指导意义等。在大城市求职,你面试来回一趟多多少少都在12块左右,而且一般不会一次性就通过,还得面试几家。而如果你对源码以及微服务等有深度认识,这无疑给你的面试添砖加瓦更上一层楼。

最后再送一句:最好是学会了,而不是学废了!!

最近在工作开发中遇到了一个小挑战,去掉组件里面的一些文字,研究了好久,原来是树形组件渲染需要一定的时间,需要使用延时才能看到效果。但是去掉后,把一些元素也去掉了,是因为方法用的不对,得使用内嵌的方法去掉。

树形展开/收缩效果消失的原因可能是你在修改 textContent 时,意外破坏了 DOM 结构或事件绑定。以下是一些可能的原因和解决方法:


1. 检查 DOM 结构

修改 textContent 时,可能会覆盖掉某些子元素(例如展开/收缩按钮的图标或事件绑定)。确保你只修改文本内容,而不是整个元素的 HTML。

错误示例:
element.textContent = element.textContent.replace('分组:', '');

如果 element 包含子元素(如按钮图标),textContent 会覆盖所有子元素。

正确示例:
const span = element.querySelector('span'); // 找到包含文本的子元素
if (span) {span.textContent = span.textContent.replace('分组:', '');
}

2. 保留展开/收缩按钮

树形组件的展开/收缩按钮通常是动态生成的,可能是一个 <span> 或 <i> 元素。确保在修改文本内容时,不要覆盖这些按钮。

示例:
document.querySelectorAll('.lee-grid .lee-grid-grouprow-cell').forEach(element => {const textNode = Array.from(element.childNodes).find(node => node.nodeType === Node.TEXT_NODE);if (textNode) {textNode.textContent = textNode.textContent.replace('分组:', '');}
});
解释:
  • element.childNodes:获取元素的所有子节点(包括文本节点和元素节点)。

  • node.nodeType === Node.TEXT_NODE:找到文本节点。

  • 只修改文本节点的内容,避免破坏其他子元素。


3. 使用 innerHTML 替代 textContent

如果文本内容和子元素混合在一起,可以使用 innerHTML 来精确替换文本内容。

示例:
document.querySelectorAll('.lee-grid .lee-grid-grouprow-cell').forEach(element => {element.innerHTML = element.innerHTML.replace('分组:', '');
});
注意:
  • innerHTML 会重新解析 HTML,可能会导致性能问题或事件绑定丢失。

  • 如果组件依赖于事件委托或动态绑定,innerHTML 可能会破坏这些功能。


4. 重新绑定事件

如果修改 textContent 或 innerHTML 导致事件丢失,可以尝试重新绑定事件。

示例:
function updateTreeText() {document.querySelectorAll('.lee-grid .lee-grid-grouprow-cell').forEach(element => {element.textContent = element.textContent.replace('分组:', '');});// 重新绑定展开/收缩事件bindTreeEvents();
}function bindTreeEvents() {document.querySelectorAll('.lee-grid-group-togglebtn').forEach(button => {button.addEventListener('click', () => {console.log('展开/收缩按钮被点击');// 展开/收缩逻辑});});
}setTimeout(updateTreeText, 3000);

5. 使用组件提供的方法

如果你使用的是某个 UI 组件库(如 Ant Design、Element UI 等),通常会有内置的方法来修改文本内容,而不破坏组件的功能。

示例:Ant Design Tree
const treeData = [{title: '分组:测试001',key: '1',children: [{title: '子节点 1',key: '1-1',},],},
];// 去掉“分组”字样
const newTreeData = treeData.map(node => {return {...node,title: node.title.replace('分组:', ''),};
});// 更新树形组件
treeRef.current.updateTreeData(newTreeData);

6. 调试工具检查

使用浏览器的开发者工具(F12)检查 DOM 结构,确认修改后的元素是否仍然包含展开/收缩按钮。

  • 打开开发者工具,切换到 Elements 面板。

  • 找到 .lee-grid-grouprow-cell 元素,检查其子元素是否完整。

  • 如果按钮丢失,说明修改方式有问题。


7. 延迟修改

如果组件在初始化时需要一些时间完成渲染,可以增加延迟时间。

示例:
setTimeout(() => {document.querySelectorAll('.lee-grid .lee-grid-grouprow-cell').forEach(element => {const textNode = Array.from(element.childNodes).find(node => node.nodeType === Node.TEXT_NODE);if (textNode) {textNode.textContent = textNode.textContent.replace('分组:', '');}});
}, 5000); // 延迟 5 秒执行

总结

  • 避免覆盖子元素:确保只修改文本内容,而不是整个元素的 HTML。

  • 保留展开/收缩按钮:检查 DOM 结构,确保按钮未被覆盖。

  • 重新绑定事件:如果事件丢失,重新绑定展开/收缩事件。

  • 使用组件方法:如果使用 UI 组件库,优先使用内置方法。

  • 调试工具检查:使用开发者工具确认 DOM 结构是否完整。

通过以上方法,你应该能够解决树形展开/收缩效果消失的问题!

3

相关文章:

文档操作方法得合理使用

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…...

Python asyncIO 面试题及参考答案 草

目录 如何正确定义一个协程函数?直接调用协程会引发什么问题? 使用 async def 定义的协程与普通函数执行流程有何本质区别? 解释 asyncio.run () 的作用及与手动管理事件循环的差异 为什么协程中必须使用 await 而非 yield 挂起操作? 写出通过 async for 实现异步迭代器…...

计算机网络——交换机

一、什么是交换机&#xff1f; 交换机&#xff08;Switch&#xff09;是局域网&#xff08;LAN&#xff09;中的核心设备&#xff0c;负责在 数据链路层&#xff08;OSI第二层&#xff09;高效转发数据帧。它像一位“智能交通警察”&#xff0c;根据设备的 MAC地址 精准引导数…...

matlab和FPGA联合仿真时读写.txt文件数据的方法

在FPGA开发过程中&#xff0c;往往需要将MATLAB生成的数据作为原始激励灌入FPGA进行仿真。为了验证FPGA计算是否正确&#xff0c;又需要将FPGA计算结果导入MATLAB绘图与MATLAB计算结果对比。 下面是MATLAB“写.txt”、“读.txt”&#xff0c;Verilog“读.txt”、“写.txt”的代…...

解锁DeepSpeek-R1大模型微调:从训练到部署,打造定制化AI会话系统

目录 1. 前言 2.大模型微调概念简述 2.1. 按学习范式分类 2.2. 按参数更新范围分类 2.3. 大模型微调框架简介 3. DeepSpeek R1大模型微调实战 3.1.LLaMA-Factory基础环境安装 3.1大模型下载 3.2. 大模型训练 3.3. 大模型部署 3.4. 微调大模型融合基于SpirngBootVue2…...

【分布式】聊聊分布式id实现方案和生产经验

对于分布式Id来说&#xff0c;在面试过程中也是高频面试题&#xff0c;所以主要针对分布式id实现方案进行详细分析下。 应用场景 对于无论是单机还是分布式系统来说&#xff0c;对于很多场景需要全局唯一ID&#xff0c; 数据库id唯一性日志traceId 可以方便找到日志链&#…...

uniapp或者vue 使用serialport

参考https://blog.csdn.net/ykee126/article/details/90440499 版本是第一位&#xff1a;否则容易编译失败 node 版本 18.14.0 npm 版本 9.3.1 electron 版本 30.0.8 electron-rebuild 版本 3.2.9 serialport 版本 10.0.0 需要python环境 main.js // Modules to control app…...

机器学习12-视觉识别任务

机器学习12-视觉识别任务 分类语义分割滑动窗口滑动窗口的实现思路优点缺点现代替代方法 全卷积&#xff08;Fully Convolutional Networks, FCN&#xff09;FCN 的工作原理FCN 的性能优势FCN 的应用案例FCN 的局限性改进方向下采样可学习的上采样:转置卷积 目标检测区域建议Se…...

使用paramiko爆破ssh登录

一.确认是否存在目标主机是否存在root用户 重跑 CVE-2018-15473用户名枚举漏洞 检测&#xff1a; import paramiko from paramiko.ssh_exception import AuthenticationExceptiondef check_user(username, hostname, port):ssh paramiko.SSHClient()ssh.set_missing_host_key…...

游戏引擎学习第146天

音高变化使得对齐读取变得不可能&#xff0c;我们可以支持循环声音了。 我们今天的目标是完成之前一段时间所做的音频代码。这个项目并不依赖任何引擎或库&#xff0c;而是一个教育项目&#xff0c;目的是展示从头到尾运行一个游戏所需要的全部代码。无论你对什么方面感兴趣&a…...

装饰器模式--RequestWrapper、请求流request无法被重复读取

目录 前言一、场景二、原因分析三、解决四、更多 前言 曾经遇见这么一段代码&#xff0c;能看出来是把request又重新包装了一下&#xff0c;核心信息都不会改变 后面了解到这叫 装饰器模式&#xff08;Decorator Pattern&#xff09; &#xff1a;也称为包装模式(Wrapper Pat…...

【算法题】小鱼的航程

问题&#xff1a; 分析 分析题目&#xff0c;可以看出&#xff0c;给你一个开始的星期&#xff0c;再给一个总共天数&#xff0c;在这些天内&#xff0c;只有周六周日休息&#xff0c;其他全要游泳250公里。 那分支处理好啦 当星期为6时&#xff0c;需要消耗2天&#xff0c;…...

视频录像机视频通道是指什么

视频录像机的视频通道是指摄像机在监控矩阵或硬盘录像机设备上的视频输入的物理位置。 与摄像头数量关系&#xff1a;在视频监控系统中&#xff0c;有多少个摄像头就需要多少路视频通道&#xff0c;通道数量决定了视频录像机可接入摄像头的数量&#xff0c;一般硬盘录像机有4路…...

RISC-V医疗芯片工程师复合型转型的路径与策略

从RISC-V到医疗芯片:工程师复合型转型的路径与策略 一、引言 1.1 研究背景 在科技快速发展的当下,芯片技术已然成为推动各行业进步的核心驱动力之一。其中,RISC-V 架构作为芯片领域的新兴力量,正以其独特的优势迅速崛起,对整个芯片产业的格局产生着深远影响。RISC-V 架…...

《Gradio : AI awesome-demos》

《Gradio : AI awesome-demos》 This is a list of some wonderful demos & applications built with Gradio. Heres how to contribute yours! &#x1f58a;️ Natural language processing Demo name (link to demo)input type(s)output type(s)status badgeruDALL-ET…...

DeepSeek R1-7B 医疗大模型微调实战全流程分析(全码版)

DeepSeek R1-7B 医疗大模型微调实战全流程指南 目录 环境配置与硬件优化医疗数据工程微调策略详解训练监控与评估模型部署与安全持续优化与迭代多模态扩展伦理与合规体系故障排除与调试行业应用案例进阶调优技巧版本管理与迭代法律风险规避成本控制方案文档与知识传承1. 环境配…...

javascript实现生肖查询

今年是农历乙巳年&#xff0c;蛇年&#xff0c;今天突发奇想&#xff0c;想知道公元0年是农历什么年&#xff0c;生肖是什么。没想到AI给我的答复是&#xff0c;没有公元0年。我瞬间呆愣&#xff0c;怎么可能&#xff1f;后来详细查询了一下&#xff0c;还真是没有。具体解释如…...

UE5从入门到精通之如何创建自定义插件

前言 Unreal 的Plugins插件系统中有很多的插件供大家使用,包括官方的和第三方的,这些插件不仅能帮我我们实现特定功能,还能够提升我们的工作效率。 所以我们今天就来自己创建一个自定义插件,如果我们想实现什么特定的功能,我们也可以发布到商店供大家使用了。 创建插件 …...

《今日AI-人工智能-编程日报》

一、AI行业动态 AI模型作弊行为引发担忧 最新研究表明&#xff0c;AI在国际象棋对弈中表现出作弊倾向&#xff0c;尤其是高级推理模型如OpenAI的o1-preview和DeepSeek的R1模型。这些模型通过篡改代码、窃取棋路等手段试图扭转战局&#xff0c;且作弊行为与其智能水平正相关。研…...

sanitizer和valgrind

sanitizer sanitizer使用 Valgrind valgrind使用 使用上sanitizer加编译选项即可 发现sanitizer程序要正常退出才能给出分析&#xff0c;ctrlc退出不行&#xff0c;valgrind ctrlc退出也可以给出分析...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...