DOM 对HTML元素的增删改操作

DOM创建节点的方法:

  • document.createElement(Tag)。Tag必须是合法的HTML元素

DOM 复制节点的方法:

  • 节点 cloneNode(boolean deep),当deep为true时,表示复制当前节点以及当前节点的全部后代节点。为false时,只复制当前节点。

DOM 添加、删除节点的方法:

appendChild(newNode) 将newNode添加成当前节点的最后一个子节点
insertBefore(newNode,refNode) 在refNode节点之前插入newNode节点
replaceChild(newNode,oldNode) 将oldNode节点替换成newNode节点
removeChild(oldNode) 将oldNode子节点删除

  • 实例:(注意互相干扰,可以注释掉单独尝试)
    <ul id="city">
        <li>北京</li>
        <li>上海</li>
    </ul>
    <input type="button" value="创建,复制,替换节点"
    onclick="create();"
    >
    <input type="button" value="复制节点" onclick="copy()">
    <input type="button" value="删除节点" onclick="del()">

    <script>
        function create() {
            var city = document.getElementById("city");
            var element = document.createElement("li");
            city.appendChild(element).innerHTML = "wuhan";

            var span = document.createElement("span");
            city.insertBefore(span,city.firstChild).innerHTML = "myspan元素";

            var p = document.createElement("p");
            city.replaceChild(p,city.firstElementChild.nextElementSibling);
            p.innerHTML = "guangzhou";
        }

        function copy() {
            var city = document.getElementById("city");
            var elem = city.firstChild.nextSibling.cloneNode(true);
            city.appendChild(elem);  
            // elem.innerHTML = city.firstChild.nextSibling.innerHTML;
        }
        function del() {
            var city = document.getElementById("city");
            var ele = city.firstChild.nextSibling;
            city.removeChild(ele);
        }
    </script>

DOM为列表框、下拉菜单添加选项的方式:

  • 创建选项除了使用前面所示的createElement 方法之外,还可以使用专门的构造器构造一个选项出来,语法如下:
    new Option(text.value.defaultSelected.selected)
  • 该构造器有4个参数,说明如下:

text 该选项的文本、即该选项所呈现的“内容”
value 选中该选项的值
defaultSelected 设置默认是否显示该选项
selected 设置该选项当前是否被选中
**提示:**并不是每次构造都需指明四个参数,可以指明一个或者两个都可以,假如一个的话指明的是text,假如两个的话,第一个参数是text,第二个参数是value。

添加创建好的选项至列表框或下拉菜单的方式

  • 直接为< select…>的指定选项赋值。

列表框或下拉菜单对象.options[i] = 创建好的option对象

删除列表框、下拉菜单的选项的方法

  • 直接使用列表框或下拉菜单对象.remove(index) 方法删除指定选项
  • 直接将指定选项赋值为null

DOM 动态添加删除表格内容所使用到的常用方法:

insertRow(index) 在指定索引位置插入一行
createCaption() 为该表格创建标题
createTFoot() 为该表格创建 tfoot 元素,假如已存在就返回现有的
createTHead() 为该表格创建 thead 元素,假如已存在就返回现有的
deleteRow(index) 删除表格中index 索引处的行
deleteCaption() 删除表格标题
deleteTFoot() 从表格删除 tFoot 元素及其内容。
deleteTHead() 从表格删除 tHead 元素及其内容。

给表格行创建、删除单元格的方法:

insertCell(index) 在index处创建一个单元格、返回新创建的单元格
deleteCell(index) 删除某行在index索引处的单元格

    input type="button" value="创建一个五行四列的表格" onclick="createTable()">
    <input type="button" value="删除最后一行" onclick="delLastRow()">
    <input type="button" value="删除最后一个单元格" onclick="delLastCell()">
    
    <script>
        function createTable() {
            var b = document.getElementById("test");
            var t = document.createElement("table");
            b.appendChild(t);
            t.border = "1";
            t.id = "mytable";
            // var caption = t.createCaption();
            // caption.innerHTML = "我的表格";
            t.createCaption().innerHTML = "我的表格";
            for(var i = 0; i < 5; i++ ) {
                var tr = t.insertRow(i);
                for(var j = 0; j < 4; j ++) {
                    var td = tr.insertCell(j);
                    td.innerHTML = "单元格" + (i + 1) + (j + 1);
                }
            }
        }
        function delLastRow() {
            var table = document.getElementById("mytable");
            if(table.rows.length > 0) {
                table.deleteRow(table.rows.length - 1);
            }
        }
        function delLastCell() {
            var table = document.getElementById("mytable");
            var lastRow = table.rows[table.rows.length - 1];
            if(lastRow.cells.length > 0) {
            lastRow.deleteCell(lastRow.cells.length - 1);
            }
        }
    </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值