【JavaScript】在指定dom元素前面创建标签元素

news2024/12/26 21:57:41

一、基础操作过程

要在指定的DOM元素前面创建标签元素,有以下步骤:

  1. 获取指定的DOM元素:使用document.querySelector()document.getElementById()等方法来获取指定的DOM元素。
const targetElement = document.querySelector('#targetElementId');
  1. 创建新的标签元素:使用document.createElement()方法创建一个新的标签元素。
const newElement = document.createElement('div');
  1. 设置新元素的属性:根据需要设置新元素的属性,例如设置文本内容、样式等。
newElement.textContent = '这是一个新的标签元素';
newElement.style.color = 'red';
  1. 将新元素插入到目标元素前面:使用insertBefore()方法将新元素插入到目标元素的前面。
targetElement.parentNode.insertBefore(newElement, targetElement);

核心代码示例:

const targetElement = document.querySelector('#targetElementId');
const newElement = document.createElement('div');
newElement.textContent = '这是一个新的标签元素';
newElement.style.color = 'red';
targetElement.parentNode.insertBefore(newElement, targetElement);

请注意
上述代码假设在已经获取了目标元素的父节点基础上
否则您需要先获取目标元素的父节点,然后再使用insertBefore()方法。


二、封装示例

html:

<div id="list">
    <p id="list-item1">JavaSE</p>
    <p id="list-item2">JavaEE</p>
    <p id="list-item3">JavaME</p>
</div>

js:

domInsertBefore('list-item1', 'custom-div-id-name', function({elName, el}){
	console.log('elName', elName);
	console.log('el', el)
},'div')

执行:
在这里插入图片描述
在这里插入图片描述


三、封装代码

/**
   * 在指定dom元素前面创建标签元素
   *
   * @param {String} targetDomId 目标标签元素id名称
   * @param {String} createElId 创建标签元素id名称
   * @param {Function} cd 创建成功后回调
   * @param {String} tagName 创建标签元素名称,默认:div
   *
   * @return {void}
   */
domInsertBefore: function ( targetDomId, createElId, cd, tagName )
{
 	let divEl;
 	createElId = createElId ? createElId : 'emitso';
 	tagName = tagName ? tagName : 'div';
 	if (!(divEl = document.getElementById(createElId))) {
 		divEl = document.createElement(tagName)
    	divEl.id = createElId
  	}
  	let dpEl = document.getElementById(targetDomId)
  	if (!dpEl) return
  	dpEl.parentNode.insertBefore(divEl, dpEl?.previousElementSibling || dpEl)
  	if (cd) {
    	cd.call(this, {
     	 elName: createElId,
    	  el: document.getElementById(createElId),
    	})
  	}
}

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

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

相关文章

基于HBuilder X平台下的 驾校报名考试管理系统 uniapp 微信小程序3n9o5

本课题研究的是基于HBuilder X系统平台下的驾校管理系统&#xff0c;开发这款驾校管理系统主要是为了帮助学员可以不用约束时间与地点进行查看教练信息、考场信息等内容。本文详细讲述了驾校管理系统的界面设计及使用&#xff0c;主要包括界面的实现、控件的使用、界面的布局和…

Qt应用开发(基础篇)——复选按钮 QCheckBox 单选按钮 QRadioButton

一、前言 QCheckBox类与QRadioButton类继承于QAbstractButton&#xff0c;QCheckBox是一个带有文本标签的复选框&#xff0c;QRadioButton是一个带有文本标签的单选按钮。 按钮基类 QAbstractButton QCheckBox QCheckBox复选框是一个很常用的控件&#xff0c;拥有开关(选中和未…

微信小程序开发前准备

文章目录 一、注册微信小程序开发账号&#xff08;一&#xff09;访问微信公众号平台官网&#xff08;二&#xff09;进入注册页面 二、获取微信小程序AppID三、安装微信开发者工具四、创建微信小程序项目 在正式开发微信小程序前&#xff0c;需要先进行开发前的准备工作&#…

rhcsa学习3 文件

文件系统权限 有三种权限类别可应用&#xff1a;读取、写入和执行 查看文件和目录的权限及所有权 ls -l 显示有关权限和所有权的详细信息 长列表的第一个字符表示文件类型 - 表示常规文件、d 目录、l 软链接、其它字符代表硬件设备&#xff08;b和c&#xff09;或其他具有特殊用…

内推与面试:内部推荐如何影响面试结果

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

HHDBCS表管理简介

HHDBCS支持新增、打开、删除、级联删除、清空、级联清空、重命名、属性查看等操作。 1 新增 右键树形结构的表节点&#xff0c;在弹出菜单中选择“新增”&#xff0c;会弹出创建表的表单&#xff0c;可以输入表名称&#xff0c;注释&#xff0c;点击添加列&#xff0c;输入列…

mysql基础面试题

创建表 列名以及列的类型前后顺序 三种等号 <>&#xff0c;&#xff0c;: mysql中0是不是null slq语句的执行顺序 别名的两种方法 关键字用途 order by group by desc/asc having___条件筛选 几个重要的集合函数 sum.aVG.min.max.count SQL 什么语言 什么是结构化 数据表…

深入解析Spring Boot中最常用注解的使用方式(上篇)

摘要&#xff1a;本文将详细介绍Spring Boot中最常用的注解的使用方式&#xff0c;并通过代码示例加以说明。通过学习这些注解&#xff0c;读者将能够更好地理解和运用Spring Boot框架&#xff0c;构建高效的企业级应用。 目录 第一部分&#xff1a;常见的控制器注解1.RequestM…

电子心率检测仪语音报警芯片,DAC输出语音ic,WT588F02B-8S

随着医疗科技的不断发展&#xff0c;电子医疗设备已经成为提高健康管理和医疗效率的重要工具。在这个领域&#xff0c;深圳唯创知音推出了全新的WT588F02B-8S DAC输出语音IC&#xff0c;为电子心率检测仪等产品提供卓越的语音报警功能。这一创新的产品将为医疗行业和健康监测市…

Multisim14.0仿真(八)LM555制作流水灯

一、仿真原理图&#xff1a; 二、仿真运行效果&#xff1a;

cesium创建基本的实体、点、线、多边形(vue)

1.通过viewer实例的entities对象实现 实现代码&#xff1a; <template><div id"container"></div> </template><script> import * as Cesium from cesium/Cesium import "cesium/Widgets/widgets.css" export default {mo…

Termux配置bashrc,终端长路径改为短路径

Termux配置bashrc termux的bashrc在$HOME/../usr/etc目录下 先使用cd命令进入用户主目录 然后cd ../usr/etc&#xff0c;ls可以发现&#xff0c;存在一个名为bash.bashrc的文件 使用vim或者其它编辑器打开 大概在第15行 PS1\[\e[0;32m\]\w\[\e[0m\] \[\e[0;97m\]\$\[\e[0…

帆软报表执行sql报SQL command not properly ended

如果你在执行预览SQL时报如下图的错误&#xff1a; 你需要检查一下几点&#xff1a; 1.是否在SQL在有逗号忘记加了 2.是否有括号少了 3.是否在SQL的最后有分号存在&#xff0c;如果有需要去掉&#xff0c;这点是比较坑的&#xff0c;因为SQL最后加分号在oracle数据库中是能够…

Android MQTT:实现设备信息上报与远程控制

Android MQTT&#xff1a;实现设备信息上报与远程控制 1. 介绍 1.1 MQTT是什么&#xff1f; MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级的消息传输协议&#xff0c;最初由IBM开发&#xff0c;用于连接远程设备与服务器之间的通信。它在物…

5大LOGO免费在线生成器,从此设计不求人!

hi&#xff0c;大家好我是技术苟&#xff0c;每天晚上22点准时上线为你带来实用黑科技&#xff01;由于公众号改版&#xff0c;现在的公众号消息已经不再按照时间顺序排送了。因此小伙伴们就很容易错过精彩内容。喜欢黑科技的小伙伴&#xff0c;可以将黑科技百科公众号设为标星…

19-springcloud(中)

一 服务注册发现 1 什么是服务治理 为什么需要服务治理 在没有进行服务治理前,服务之间的通信是通过服务间直接相互调用来实现的。 过程&#xff1a; 武当派直接调用峨眉派和华山派&#xff0c;同样&#xff0c;华山派直接调用武当派和峨眉派。如果系统不复杂&#xff0c;这样…

vue3+vite项目运行报错[plugin vite:dep-pre-bundle]

报错截图 原因&#xff1a;vue-i18n 插件于9.5更新&#xff0c;打包和引入方式有改变&#xff0c;所以新启动和新部署的项目都会有这个问题。 解决方式&#xff1a; 1.项目全局搜索&#xff1a;vue-i18n/dist/v ue-i18n.cjs.js 然后将搜索到的代码替换为 &#xff1a;vue-i18…

代码泄漏无感知?代码安全审计构筑企业核心资产安全防线

目录 一个不眠之夜 源代码托管&#xff1a;最容易被从内部攻破的堡垒 审计事件&#xff0c;构建源代码安全防护的“最后一道防线” 源代码托管审计事件三要素 源代码托管审计事件的价值 极狐GitLab 审计事件功能 极狐GitLab 审计事件功能特点 极狐GitLab 审计事件功能使…

什么牌子的led台灯质量好?热门的Led护眼台灯推荐

led台灯有环保无污染、耗能低、长寿命等优点&#xff0c;适合用在阅读、书写、批阅等办公或学习的场所。而挑选LED台灯时&#xff0c;分散光挡板做的比较好的优先选择&#xff0c;能分散大量蓝光&#xff0c;对眼睛危害较小。下面&#xff0c;小编为大家推荐五款质量好的led护眼…

几个步骤轻松把PDF转成Excel,你学会了吗

在工作和学习中&#xff0c;我们经常需要将PDF文档中的表格转换为Excel表格&#xff0c;以便进行进一步的编辑和分析。本文将介绍几个简单的步骤&#xff0c;帮助您快速将PDF转换为Excel&#xff0c;并提供一些需要注意的实现方法。 步骤一&#xff1a;选择合适的PDF转Excel工具…