摘要:问题在写东西的时候用为标签两次追加相同内容,结果却页面只出现了一个标签原因是把一个元素对象追到到另一个元素上,但是这个追加其实是剪切的意思。也就是说,如果追加同一个元素对象,实际上只是追加了一个元素,这就是我所出现的那个问题。
问题
在写东西的时候用appendChild为li标签两次追加相同内容,结果却页面只出现了一个li标签
原因appengChild是把一个元素(对象)追到到另一个元素上,但是这个追加其实是"剪切"的意思。也就是说,如果追加同一个元素(对象),实际上只是追加了一个元素,这就是我所出现的那个问题。
效果如图:多次追加同一元素(对象),页面只出现一个
或者换个方式来说,用appendChild为ul追加了一个li标签,li标签里面的内容是a,然后又追加了一个li,内容是b,再把内容为a的li标签重新追加一次,你会发现原来页面是a,b,但是现在却变成了b,a。
效果如下:
预期效果是a、b、a,但实际却是b、a。这就是所说的appendChild追加是一种"剪切"效果。追加同一个元素,第二次以后追加的不是没有作用,而是为只是处理同一个元素(对象),这样就会把之前有过一样的元素直接拿过来用,所以顺序不一样,就相当于"剪切"。
解决办法写一个创建DOM对象函数,每次追加调用该函数
使用克隆节点(cloneNode)
创建函数如下:效果如图:
效果跟第种方法一样。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/84279.html
摘要:动态生成元素的方法有三种第一种创建元素,再用方法将元素添加到指定节点登录第二种使用直接将元素添加到指定节点使用将元素直接添加到指定节点登录第三种创建节点中创建对象,使用的工厂函数完成,格式如下,会根据传入的标记字符串,创建一个对象动态生成HTML元素的方法有三种: 第一种:document.createElement()创建元素,再用appendChild( )方法将元素添加到指定节点 ...
项目中要求实现左右点击切换图片,先看看想要展示效果: 效果: HTML <!DOCTYPEhtml> <html> <head> <metacharset="utf-8"> <title>xxx——空间相册</title> <linkrel="styleshee...
摘要:前言随我来去看看为时未晚第一版较浅显的知识懂得可忽略本文方向安装起步搭建运行粗略代过对于资源的管理对于输出的管理举例介绍本地开发基础服务热更新模块热替换初步认识初步构建新建一个文件并进入更目录是命令初始一个文件表示跳过询问步骤安装 前言 随我来,去看看webpack!(为时未晚)============》第一版(较浅显的知识,懂得可忽略本文) 方向 安装,起步搭建运行. (粗略代...
阅读 2345·2021-11-11 16:54
阅读 2596·2021-09-26 09:47
阅读 3978·2021-09-08 09:36
阅读 2727·2021-07-25 21:37
阅读 927·2019-08-30 15:54
阅读 2540·2019-08-30 14:22
阅读 3245·2019-08-30 13:57
阅读 2558·2019-08-29 17:17