JavaScript之DOM操作

来源:互联网 发布:网络平台合作方案 编辑:程序博客网 时间:2024/04/30 01:53

什么是DOM

Document Object Model 文档对象模型 简称(DOM),它是HTML与XML之间的应用编程接口(API)

DOM的作用

  • DOM将整个页面映射成一个由层次节点组成的文件。
  • 它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式。
  • DOM把网页和脚本以及其他的编程脚本联系了起来

DOM编程实例(动态绘制表格)

题目:在输入框中填写数据点击添加的时候给表格中添加一行数据

方法一:

1、创建表格框架

姓名:<input type="text" name="name" id="name"> 年龄:<input type="text" name="age" id=age> <input type="button" value="添加" onclick="add()"><table id="myTable" border="1" cellspacing="0" cellpadding="0" width="500">    <tr>        <th>编号</th>        <th>姓名</th>        <th>年龄</th>        <th>操作</th>    </tr></table>

2、编写添加和删除的方法

<script>    function $(id) {        return document.getElementById(id);    }    var index = 1;    function add(){        var name = $("name").value;        var age = $("age").value;        var tr = document.createElement("tr");        var td1 = document.createElement("td");        var td2 = document.createElement("td");        var td3 = document.createElement("td");        var td4 = document.createElement("td");        td1.innerHTML=index++;        td2.innerHTML=name;        td3.innerHTML=age;        td4.innerHTML="<input type='button' value='删除' onclick='remove(this.parentNode.parentNode)'>";        tr.appendChild(td1);        tr.appendChild(td2);        tr.appendChild(td3);        tr.appendChild(td4);        $("myTable").appendChild(tr);    }    function remove(node){        $("myTable").removeChild(node);    }</script>

方法二:

1、创建表格框架同方法一
2、编写添加和删除的方法

<script>    function $(id) {        return document.getElementById(id);    }    var index = 0;    var code = 1;    function add(){        var name = $("name").value;        var age = $("age").value;        var tr = $("myTable").insertRow(index);        var td1 = tr.insertCell(0);        var td2 = tr.insertCell(1);        var td3 = tr.insertCell(2);        var td4 = tr.insertCell(3);        td1.innerHTML = code;        td2.innerHTML = name;        td3.innerHTML = age;        td4.innerHTML = "<a href='JavaScript:void(0)' onclick='remove(this.parentNode.parentNode.rowIndex)' >删除</a>";        index++;        code++;    }    function remove(node){        $("myTable").deleteRow(node);        index--;    }</script>

这里使用了tableModel的insertRow(index)方法和rowModel的insertCell(index)方法
两个方法中的都需要传一个index这个index代表要添加的数据在表中的行数和列数。如果前面是空的会报如下错误,这里需要注意一下。
在添加和删除的时候必须对index进行自增和自减的操作。

Uncaught DOMException: Failed to execute 'insertCell' on 'HTMLTableRowElement': The value provided (1) is outside the range [-1, 0].
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 门的保险锁坏了怎么办 小区楼宇门坏了怎么办 门的锁坏了怎么办 汽车门把锁坏了怎么办 厨柜门上的板板掉了怎么办 衣柜门滑轮坏了怎么办 厨房推拉门推动时有声音是怎么办? 塑料推拉门声音大怎么办不好推 推拉门锁扣坏了怎么办 衣柜移门拉不动怎么办?如何保养 擦黑色桌面有层白灰怎么办 宝宝睡觉不盖被子怎么办 孩子盖被子就哭怎么办 一盖被子就发烧怎么办 两岁宝宝认被子盖怎么办 小孩吃多了发烧怎么办 两岁宝宝拉蛔虫怎么办 吃了长蛆的东西怎么办 被蜱虫咬了又找不到虫子怎么办 木家具生黑虫子怎么办 吃了发霉的面包怎么办 种的韭菜有蛆怎么办 活狗身上长蛆虫怎么办 狗身上会有蛆虫怎么办 狗身上长满了蛆怎么办 房间墙上有很多小虫子怎么办 床上有许多小虫子怎么办? 店里有许多小虫子怎么办 房间潮湿有很多小虫子怎么办 家里潮湿墙上发霉长小虫怎么办? 房间有小飞虫子怎么办 狗被灭虫剂喷了怎么办 吃鸡玩久了手机屏幕很涩怎么办 超东卧室太阳晒怎么办 床头上的布破了怎么办 老年机全静音了怎么办 老年机手机不亮怎么办 70岁老人耳朵聋怎么办 血压太低了头晕怎么办 血压高忽然变低怎么办 血压高眼睛红了怎么办