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

2024-08-24 14:52

本文主要是介绍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);
});

这篇关于Debug-023-Document.createElement()的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1102797

相关文章

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri

Springboot 中使用Sentinel的详细步骤

《Springboot中使用Sentinel的详细步骤》文章介绍了如何在SpringBoot中使用Sentinel进行限流和熔断降级,首先添加依赖,配置Sentinel控制台地址,定义受保护的资源,... 目录步骤 1: 添加 Sentinel 依赖步骤 2: 配置 Sentinel步骤 3: 定义受保护的

Python中Markdown库的使用示例详解

《Python中Markdown库的使用示例详解》Markdown库是一个用于处理Markdown文本的Python工具,这篇文章主要为大家详细介绍了Markdown库的具体使用,感兴趣的... 目录一、背景二、什么是 Markdown 库三、如何安装这个库四、库函数使用方法1. markdown.mark

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

如何使用Spring boot的@Transactional进行事务管理

《如何使用Springboot的@Transactional进行事务管理》这篇文章介绍了SpringBoot中使用@Transactional注解进行声明式事务管理的详细信息,包括基本用法、核心配置... 目录一、前置条件二、基本用法1. 在方法上添加注解2. 在类上添加注解三、核心配置参数1. 传播行为(

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程

《在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程》本文介绍了在Java中使用ModelMapper库简化Shapefile属性转JavaBean的过程,对比... 目录前言一、原始的处理办法1、使用Set方法来转换2、使用构造方法转换二、基于ModelMapper