Debug-023-Document.createElement()的使用

 Document.createElement()

 document.createElement()是在对象中创建一个对象,要与appendChild() 或 insertBefore()方法联合使用。

appendChild() 方法在节点的子节点列表末添加新的子节点。

insertBefore() 方法在节点的子节点列表任意位置插入新的节点。

用途举例:用这个来实现手动唤起文件上传入口

// 手动调取图片本地上传入口
function onUploadImgLocal(row:any) {console.log('importBillExcel', row)const input = document.createElement('input')input.type = 'file'input.accept = '.jpeg, .png,  .jpg' // 限制选择的文件类型为 .jpg, .png,  .jpginput.style.display = 'none'document.body.appendChild(input)input.click()input.onchange = (e:any) => {const file = e.target.files[0] // 获取文件对象console.log('eeeeee', e, file)// handleExceed([file])}
}
  1. 创建隐藏的文件输入元素:代码首先通过document.createElement创建一个input元素,并设置其类型为file,接受的文件类型为.jpeg, .png, .jpg,然后将其隐藏并添加到document.body中。

  2. 模拟点击文件输入:通过input.click()方法,模拟用户点击文件输入元素,从而唤起文件选择界面。

  3. 处理文件选择变化:通过input.onchange事件监听器,当用户选择文件后,执行箭头函数。该函数从事件目标的files属性中获取第一个文件(e.target.files[0]),并将其传递给handleExceed函数进行进一步处理,同时在控制台打印相关信息。
     

    // 创建一个文件输入元素
    const fileInput = document.createElement('input');
    fileInput.type = 'file';
    fileInput.accept = '.jpeg, .png, .jpg'; // 限制选择的文件类型// 添加到DOM中
    document.body.appendChild(fileInput);// 添加点击事件,例如触发文件选择对话框
    fileInput.addEventListener('click', () => {// 可以在这里添加一些额外的逻辑,比如显示提示信息
    });// 监听文件选择变化
    fileInput.addEventListener('change', (event) => {const files = event.target.files; // 获取选中的文件列表if (files && files.length > 0) {// 处理选中的文件console.log('文件已选择:', files[0]);// 这里可以添加更多处理文件的逻辑}
    });

document对象的一些常用方法,并且补充了一些说明和示例。以下是10个常用的方法:

//创建一个新的元素节点。
const newElement = document.createElement('div');//将一个节点添加到指定父节点的子节点列表的末尾。
document.body.appendChild(newElement);//通过ID获取文档中的一个元素。
const elementById = document.getElementById('myId');//通过类名获取文档中的元素集合。
const elementsByClass = document.getElementsByClassName('myClass');//通过标签名获取文档中的元素集合。
const elementsByTag = document.getElementsByTagName('p');//返回文档中匹配指定CSS选择器的第一个元素。
const firstMatch = document.querySelector('.myClass');//返回文档中匹配指定CSS选择器的所有元素的NodeList对象。
const allMatches = document.querySelectorAll('.myClass');//创建一个文本节点
const textNode = document.createTextNode('Hello, world!');//从DOM树中删除一个子节点。
document.body.removeChild(newElement);//向元素添加事件监听器。
input.addEventListener('change', (e) => {const file = e.target.files[0];console.log('Selected file:', file);
});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/52406.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

笔记整理—uboot启动过程(3)栈的二次设置以及常用名词解析,BL1部分完

前文说到了uboot的lowlevel_init都干了些什么,也就是经过了这项初期的低级启动,使得我们能在串口监视器上看见机器打印出的第一句话“OK”。当lowlevel_init结束后,uboot去做了另一件事情,那就是栈的再次设置。 第一次栈设置发生在…

解决Qt多线程中fromRawData函数生成的QByteArray数据不一致问题

解决Qt多线程中fromRawData函数生成的QByteArray数据不一致问题 目录 🔔 问题背景📄 问题代码❓ 问题描述🩺 问题分析✔ 解决方案 🔔 问题背景 在开发一个使用Qt框架的多线程应用程序时,我们遇到了一个棘手的问题&…

使用 LangGraph 构建工作流, 实现与虚拟女友对话

文章目录 简介背景流程图代码实现 简介 介绍了如何使用 LangGraph 搭建一个基于聊天机器人的工作流,具体实现了一个虚拟女友的角色扮演游戏。 通过流程图展示了构建完成的状态图,并介绍了各个节点的功能,如接收用户输入、生成对话等。提供了…

如何使用ssm实现保险业务管理系统设计与实现

TOC ssm131保险业务管理系统设计与实现jsp 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规…

ArcGIS Pro基础:设置2个窗口同步联动界面

如上所示,通过1步骤,新建了2个地图窗口,得到2和3所表示的【地图1】、【地图2】,一个是影像图,另一个是地形图, 假如有个需求,是将2个窗口联动起来:在观察影像的同时,也同…

[000-01-022].第06节:RabbitMQ中的交换机介绍

1.什么是Exchanges(交换机): 1.RabbitMQ 消息传递模型的核心思想是: 生产者生产的消息从不会直接发送到队列。实际上,通常生产者甚至都不知道这些消息传递传递到了哪些队列中2.生产者只能将消息发送到交换机(exchange),交换机工作的内容非常…

Android Room DataBase

Room数据库是在Sqlite的基础上,进行了封装和优化。这让我们可以摆脱,繁琐的数据库操作 在module的gradle里面,加入: dependencies {annotationProcessor "androidx.room:room-compiler:2.3.0"implementation androidx.room:room-…

调用股票网站接口读取大A数据——个股资金流入趋势

以某股票为例,调用自定义的一个类,读取数据。 class BigAData:# 获取资金流向数据def get_money_flow(self, stock_code, page1, num20, sortopendate, asc0):该函数通过股票代码从新浪财经API获取资金流向数据。参数包括股票代码、页数、每页数量、排序…

jenkins最佳实践(一):jenkins安装与部署

各位小伙伴们大家好呀,我是小金,下面我将记录学习jenkins的系列文章与心得,一方面用于博主的自我记录,一方面如果能帮助到正在浏览这篇文章的小伙伴,那更好不过了,本篇文章主要讲述jenkins的安装以及安装je…

Redis篇一:初识Redis

文章目录 前言1. 初始Redis2. MySQL VS Redis3. 什么是分布式系统(也是一种处理大量数据时的处理方式)3.1 单机架构3.2 数据库与应用服务分离3.3 负载均衡3.4 数据库读写分离3.5 引入缓存(Redis)3.6 数据库分库分表3.7 引入微服务…

计算机毕业设计选题推荐-OA办公管理系统-Java/Python项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

白酒与青年文化:潮流与传统的碰撞

在时代的洪流中,青年文化如同一股涌动的潮流,不断冲击着传统的边界。而白酒,作为中国传统文化的瑰宝,也在这一潮流中找到了新的表达方式。今天,我们就来探讨一下白酒与青年文化之间的碰撞与整合,以及豪迈白…

【Vue3】编程式路由导航

【Vue3】编程式路由导航 背景简介开发环境开发步骤及源码总结 背景 随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗的日…

微服务事务管理

1.分布式事务问题 1.1.本地事务 本地事务,也就是传统的单机事务,在传统数据库事务中,必须要满⾜四个原则: 1.2.分布式事务 分布式事务,就是指不是在单个服务或单个数据库架构下,产⽣的事务,例…

全感知、全覆盖、全智能的名厨亮灶开源了

简介 AI视频监控平台, 是一款功能强大且简单易用的实时算法视频监控系统。愿景在最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,减少企业级应用约 95%的开发成本,在强大视频算法加…

数学基础(七)

一、熵 熵代表物体内部的混乱程度。(一件事发生的不确定性) 熵应用到分类任务中 二、激活函数 Sigmoid函数: Tanh函数: Relu函数: 三、回归分析 回归分析是寻找存在相关关系的变量间的数学表达式,并进行…

[数据集][目标检测]电力场景输电线异物检测数据集VOC+YOLO格式2060张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2060 标注数量(xml文件个数):2060 标注数量(txt文件个数):2060 标注…

Spring Data JPA 中分页Pageable 的使用说明

我 | 在这里 ⭐ 全栈开发攻城狮、全网10W粉丝、2022博客之星后端领域Top1、专家博主。 🎓擅长 指导毕设 | 论文指导 | 系统开发 | 毕业答辩 | 系统讲解等。已指导60位同学顺利毕业 ✈️个人公众号:热爱技术的小郑。回复 Java全套视频教程 或 前端全套视频…

黑神话悟空什么配置可以玩?什么样的游戏本配置可以畅玩《黑神话:悟空》?黑神话悟空电脑配置推荐

相信不少游戏爱好者,近期被《黑神话:悟空》这款游戏刷屏了,预售开启不到5分钟,所有的产品即宣告售罄,预购3天销售额就破亿,并迅速登顶Steam全球榜。作为一款备受期待的国产3A游戏,以其精美的画面…

致远OA OCR票据识别组件

OCR票据识别 技术支持 技术大佬支持本文档 使用范围 任何票种信息,只要需要对接到oa底表中,就能够实现各种票种,各种字段的对接,包括票据识别,发票核验,适配各种票据 使用介绍 1 配置每种发票的ocr设…