节点的复制,直接修改+读取css样式

举报
魔天伦 发表于 2023/04/26 10:12:07 2023/04/26
【摘要】 节点的复制使用 cloneNode() 方法对节点进行复制时,它会复制节点的所有特点包括各种属性这个方法默认只会复制当前节点,而不会复制节点的子节点可以传递一个true作为参数,这样该方法也会将元素的子节点一起复制在本案例中,像li是一个节点,里面的“孙悟空”是一个子节点,需要使用true来一块复制上 <body> <button id="btn01">点我一下</button> ...

节点的复制

使用 cloneNode() 方法对节点进行复制时,它会复制节点的所有特点包括各种属性

这个方法默认只会复制当前节点,而不会复制节点的子节点

可以传递一个true作为参数,这样该方法也会将元素的子节点一起复制

在本案例中,像li是一个节点,里面的“孙悟空”是一个子节点,需要使用true来一块复制上

 <body>
     <button id="btn01">点我一下</button><ul id="list1">
         <li id="l1">孙悟空</li>
         <li id="l2">猪八戒</li>
         <li id="l3">沙和尚</li>
     </ul>
     
     <ul id="list2">
         <li>蜘蛛精</li>
     </ul><script>
         //点击按钮后,将id为l1 的元素添加到list2中
         const list2 = document.getElementById('list2')
         const l1 = document.getElementById('l1')
         const btn01 = document.getElementById("btn01")
 ​
         btn01.onclick = function(){
             const new1 = l1.cloneNode(true)//用来对节点进行复制
 ​
             new1.id = 'new1';
             list2.appendChild(new1)//将一元素添加到父节点的末尾
         }
     </script>
 </body>

2、直接修改css样式

修改样式的方式:元素.style.样式名 = 样式值

如果样式名中含有-,则需要将样式表修改为驼峰命名法

 <head>
     <meta charset="UTF-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Document</title>
     <style>
         .box1 {
             width: 200px;
             height: 200px;
             background-color: #bfa;
         }
     </style>
 </head>
 <body>
     <button id="btn">点我一下</button>
     <hr>
     <div class="box1"></div><script>
         //点击按钮后,修改box1的宽度
         const btn = document.getElementById('btn')
         const box1 = document.querySelector('.box1')
 ​
         btn.onclick = function(){
             //修改box1的样式
             //修改样式的方式:元素.style.样式名 = 样式值
             //如果样式名中含有-,则需要将样式表修改为驼峰命名法
             //background-color ---> backgroundColor
             box1.style.width = '400px'
             box1.style.height = '400px'
             box1.style.backgroundColor = 'yellow'
         }
     </script>
 </body>
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。