博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS节点操作
阅读量:6335 次
发布时间:2019-06-22

本文共 3404 字,大约阅读时间需要 11 分钟。

一、六种JS插入节点的方式

innerHTML、outerHTML、appendChild、insertBefore、insertAdjacentHTML、applyElement

今天介绍一下appendChild。

1.什么是节点

  HTML文档中的所有内容都是节点:

  1.整个文档时一个文档节点。

  2.每个HTML元素是元素节点。

  3.HTML元素内的文本是文本节点。

  4.每个HTML属性是属性节点。

  5.每个注释是注释节点。

 下面做一个表格,只在html里写表头,数据由js导入,并能够在单元格内编辑,删除行,添加行

年级 性别 姓名 操作
节点操作
window.onload = function (){    //定义数组    var tabArr = [        [2,'男','小明'],        [5,'女','小红'],        [4,'女','小蓝']    ];    //初始化数据    dataIn(tabArr);}function dataIn(aa){    //获取表格    var table = document.getElementsByTagName('table')[1];    //循环给table加tr    for(var i = 0; i < aa.length; i ++){        //创建行        var tr = document.createElement('tr');        //给每行附一个标志数        tr.setAttribute('xb',i);        for(var j = 0; j < aa[i].length; j ++){            //创建列            var td = document.createElement('td');            td.innerHTML = aa[i][j];            //单元格添加可编辑事件            td.setAttribute('contenteditable','true');            tr.appendChild(td);        }        //创建单元格        var td = document.createElement('td');        //创建按钮        var sc = document.createElement('button');        //删除按钮添加事件        sc.addEventListener('click',del);        //删除添加标志数        sc.setAttribute('xb',i);        //按钮显示修改 删除        sc.innerHTML = "删除";        //按钮追加        td.appendChild(sc);        //单元格追加        tr.appendChild(td);        table.appendChild(tr);    }}//删除行function del(){    //获取按钮的下标    var xb = this.getAttribute('xb');    //获取行数组    var trArr = document.getElementsByTagName('tr');    //循环遍历行    for(var i = 0; i < trArr.length; i++){        //如果行下标和删除下标相同        if(trArr[i].getAttribute('xb') == xb){            //删除行            trArr[i].remove();            break;        }    }}//添加一行function tj(){    //获取表格    var table = document.getElementsByTagName('table')[1];    //获取行    var tr = table.getElementsByTagName('tr')[1];    //获取列数    var td = tr.getElementsByTagName('td');    //创建行    var    trDom = document.createElement('tr');    //循环td个数 给tr加td    for(var i = 0; i < td.length; i++){        //创建单元格        var tdDom = document.createElement('td');        //单元格内容为空        tdDom.innerHTML = ' ';        //追加单元格        trDom.appendChild(tdDom);    }    //追加行    table.appendChild(trDom);}
节点操作
window.onload = function (){    var tabArr = [        [2,'男','小明'],        [5,'女','小红'],        [4,'女','小蓝']    ];    //初始化数据    dataIn(tabArr);}function dataIn(aa){    //获取表格    var table = document.getElementsByTagName('table')[1];    //循环给table加tr    for(var i = 0; i < aa.length; i ++){        //创建行        var tr = document.createElement('tr');        for(var j = 0; j < aa[i].length; j ++){            //创建列            var td = document.createElement('td');            //单元格里的值            td.innerHTML = aa[i][j];            //追加单元格            tr.appendChild(td);        }        //追加行        table.appendChild(tr);    }}

一、创建节点、追加节点

1.createElement创建一个元素节点。

2.appendChild 追加一个节点。
3.createTextNode创建一个文本节点。
二、删除、移除节点
1、removeChild(节点) 删除一个节点,用于移除删除一个参数(节点)。

其返回的被移除的节点,被移除的节点仍在文档中,只是文档中已没有其位置了。

三、替换节点

1、replaceChild(插入的节点,被替换的节点) ,用于替换节点,接受两个参数,

第一参数是要插入的节点,第二个是要被替换的节点。返回的是被替换的节点。

四、查找节点

1、childNodes 包含文本节点和元素节点的子节点。

单元格可编辑

 setAttribute('contenteditable','true');

追加空单元格时内容设为空,否则出现没有高度的一行。

 

转载于:https://www.cnblogs.com/SSs1995/p/8859419.html

你可能感兴趣的文章
综合评价模型C++实现
查看>>
坐标系和坐标转换
查看>>
函数执行的预解释
查看>>
Thinkpad E450c进入BIOS
查看>>
nginx支持HTTP2的配置过程
查看>>
C. Day at the Beach
查看>>
技术学习网站
查看>>
js继承的方式
查看>>
【Splay】bzoj3224 Tyvj 1728 普通平衡树
查看>>
【dijkstra】【次短路】【fread】hdu6181 Two Paths
查看>>
python3支持excel读写
查看>>
工具:SVN的Web客户端(ViewVC、SVNWebClient、sventon)和任务管理(Trac、Collaboa)
查看>>
ubuntu关闭自动更新、打开 ubuntu 的 apport 崩溃检测报告功能
查看>>
vmlinux,zImage,bzImage,vmlinuz,uImage,关系
查看>>
会议管理拖动效果的页面制作1
查看>>
linux grep、find 命令详解
查看>>
Vuex详解笔记2
查看>>
[教程] NETGEAR R7800 路由器TFTP刷机方法(适用于.img格式固件各种刷)
查看>>
PHP扩展开发--实验成功
查看>>
如何调试Flink源码
查看>>