Linuxkiss
    首页 Linux C/C++ C++面试 Qt答疑 Qml中文手册 Qt CMake Python 工具
Linuxkiss
www.linuxkiss.com 你可以精通一门IT技术
  1. 首页
  2. JavaScript
  3. 正文

JavaScript如何克隆节点并且修改相关属性?

2018年05月01日 16点热度 0人点赞

JavaScript如何克隆节点并且修改相关属性?

前两天用JavaScript做了一个效果,感觉棒棒哒,因为之前很少接触js这块,所以做起来花了好长的时间,今天空闲了,我就将代码贴下来,供小菜鸟们学习交流。效果如下图,点击+,添加一行,点击-,减少一行。

代码如下:

<div class='' id = 'attr_pipei_0'>
    <a href='javascript:;' id='a0' onclick='addSpec_pipei(this)' >[+]</a>
    <a href='javascript:;' id='b0' onclick='removeSpec_pipei(this)' style='display: none;'>[-]</a>
    <span  id='c0' >This is the 0 line!</span>
</div>
 
<script>
    function addSpec_pipei(obj)
  {
      var sourceNode = document.getElementById("attr_pipei_0"); // 获得被克隆的节点对象
      var clonedNode = sourceNode.cloneNode(true); // 克隆节点
      var i = 0;
      for(i = 1;i<=1000;i++){
              var idi = document.getElementById("attr_pipei_"+i);
          if(idi == null){
              clonedNode.setAttribute("id", "attr_pipei_"+i); // 修改一下id 值,避免id 重复
              var va = clonedNode.childNodes;
              va[1].setAttribute("id", "a"+i); // 修改一下+号id 值,避免id 重复
              va[3].setAttribute("id", "b"+i); // 修改一下-号id 值,避免id 重复
              va[5].setAttribute("id", "c"+i); // 修改一下span的id 值,避免id 重复
 
              sourceNode.parentNode.appendChild(clonedNode); // 在父节点插入克隆的节点
              va[1].style.display="none";//隐藏
              va[3].style.display="inline-block";//显示
              break;
          }
      }
            var a = document.getElementById("c"+i);
            a.innerHTML = "This is the "+i+" line!"; // 修改一下内容
  }
 
  function removeSpec_pipei(obj)
  {
 var p= obj.parentNode;
     if(p){
         p.remove();
     }
  }
</script>

 

代码贴上了,菜鸟们还不快点分享给其他菜鸟~~
注意:如果在显示中文内容时候出现乱码,自行在网上搜索JS怎么处理中文出现乱码问题!

JavaScript如何克隆节点并且修改相关属性?

注:本文转载自JavaScript,克隆节点,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除。

标签: JavaScript Js
最后更新:2020年06月21日

Leo

保持饥渴的专注,追求最佳的品质

点赞
下一篇 >
关注公众号

日历
2021年4月
一 二 三 四 五 六 日
« 2月    
 1234
567891011
12131415161718
19202122232425
2627282930  
最新 热点 随机
最新 热点 随机
windows中出现"无法解析的外部符号"到底是什么原因 Qt5中lambda表达式用法,非常实用 warning: class 'InterFace' defines a non-default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator 无法解析的外部符号 "public: static struct QMetaObject const Windows下Qt代码出现的错误总结 QT Creator如何在创建项目的时候,头文件和cpp文件的首字母默认大写
QML中应用程序启动代码中的JavaScript(JavaScript in application startup code) 用宏定义得到一个字的高位和低位字节 opencv系列23--直方图均衡化 [ api:equalizeHist ] 关于qmake的跨平台说明(Platform Notes) qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""已解决 pandas to_csv方法参数详解(中文版)
标签聚合
qml中文手册 qml中文文档 C++ openCv Qt qmake C/C++面试 Linux

COPYRIGHT © 2015-2021 Linuxkiss. ALL RIGHTS RESERVED.

苏ICP备12059464号-2