appendChild也是异步函数(给dom添加子节点后,第一次修改dom样式不生效)

news/2024/7/7 18:45:20

目录

一、问题

二、原因及解决方法

三、总结


一、问题

1.在已有dom上添加子节点son,并在添加后把son移动到合适的位置。但是发现第一次修改son的样式不生效,打印后竟然发现:获取到的dom高度 clientHeight 第一次竟然是错误的(clientWidth一直正确);导致第一次渲染的位置和之后的渲染都不一样。。。。

2.代码

let setStyle=()=>{
 let dom=$('#parent')[0];
 let son=`<div>子节点<img :src="${img}"/></div>`;
 dom.appendChild(son);
 son.setAttribute('style',`position:absolute;top:${300- 
                dom.clientHeight};left:${300-dom.clientWidth}`)
}

二、原因及解决方法

1.原因:appendChild竟然是一个异步方法。添加async await改成同步的即可

2.代码

let setStyle=async()=>{
 let dom=$('#parent')[0];
 let son=`<div>子节点<img :src="${img}"/></div>`;
 await dom.appendChild(son);
 son.setAttribute('style',`position:absolute;top:${300- 
                dom.clientHeight};left:${300-dom.clientWidth}`)
}

三、总结

1.真的就很难以置信。当你在写代码时发现有些时候正确,有些时候不正确时,在检查逻辑无误的情况下,需要考虑异步的问题

2.appendChild竟然是异步的,长见识了!

3.终于解决了,长叹一口气,继续敲代码,节日快乐!

/*

希望对你有帮助!

如有错误,欢迎指正,非常感谢!

*/


http://lihuaxi.xjx100.cn/news/1720034.html

相关文章

开源镜像站

阿里开源镜像站&#xff1a;阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区网易开源镜像站&#xff1a;欢迎访问网易开源镜像站搜狐开源镜像站&#xff1a;Index of /北京交通大学开源镜像站&#xff1a;http://mirror.bjtu.edu.cn兰州大学开源软件镜像站&#xff1a;兰州大学…

uniapp:谷歌地图,实现地图展示,搜索功能,H5导航

页面展示 APP H5 谷歌地图功能记录,谷歌key申请相对复杂一些,主要需要一些国外的身份信息。 1、申请谷歌key 以下是申请谷歌地图 API 密钥的流程教程: 登录谷歌开发者控制台:打开浏览器,访问 Google Cloud Platform Console。 1、创建或选择项目:如果你还没有创建项目…

美摄人像背景抠图SDK

企业对于图像处理的需求越来越高。无论是社交媒体营销、产品展示还是企业内部培训&#xff0c;高质量的图像都是吸引用户和提升品牌形象的关键。然而&#xff0c;传统的图像处理工具往往需要大量的手动操作和专业技巧&#xff0c;耗时耗力。为了满足企业对于高效、精准的图像处…

NPDP产品经理证书是什么行业的证书?

NPDP是一个跨行业的证书&#xff0c;它适用于各种不同类型和规模的组织。无论是制造业、服务业还是科技领域&#xff0c;都可以从NPDP认证中获益。 1. 制造业&#xff1a; 制造业涉及大量的产品开发和创新活动。从汽车制造到电子设备制造&#xff0c;从家居用品到航天航空&…

掌动智能APP自动化测试工具的主要功能

掌动智能APP自动化测试工具是一类用于自动执行测试脚本和验证移动应用程序的工具。它们模拟用户与应用程序的交互&#xff0c;以便检查应用程序的功能、性能和稳定性。这些工具可以用于各种移动平台&#xff0c;包括iOS和Android。本文将介绍APP自动化测试工具的主要功能有哪些…

技术实力获行业高度认可,几何伙伴首获科技进步奖殊荣!

2023年10月25日&#xff0c;“2023年度中国汽车工程学会科学技术奖”正式公布并于北京举行颁奖典礼&#xff0c;以对汽车工业努力奋斗、勇于创新的优秀企业和人才进行嘉奖&#xff0c;对优秀先进成果进行表彰。 其中&#xff0c;由几何伙伴主导&#xff0c;携手上汽集团、友道智…

高效Java《Effective Java》3rd原文学习笔记-精华版(一)

经验越丰富的 Java 程序员&#xff0c;越注重细节&#xff0c;不然只会堆积更多的屎山代码 1: 静态工厂方法代替构造方法 1&#xff09;可定义工厂方法名字 当构造函数的参数本身无法明确描述函数返回的对象类型时&#xff0c;一个巧妙命名的静态方法能够帮助客户端代码更好…

TypeError: data.reduce is not a function:数据类型不匹配

错误展示&#xff1a; 错误分析&#xff1a; 首先来看看前端代码&#xff1a;我表格绑定的数据模型是tableData&#xff0c;而我tableData定义的是一个数组 其次看看后端给的数据&#xff1a; 传递的是一个对象&#xff0c;而不是一个数组&#xff01; 这样原因就找出了&…