DOM模型 一

一 dom文档对象模型

dom节点:document/element/attribute/text

父节点:parentNode(上级)

子节点:childNodes(下级)

同级节点:sibling

提取节点:document.getElementById('p');

document.createTextNode('text')(可创一个文本)

二 特征相关属性

Node.textContent

返回当前节点和它的后代节点的文本内容,该属性是可读写的。

Node.nextSibling

返回紧跟在当前节点后面的一个同级节点。如果没有找到返回null。

Node.previousSibling

返回当前节点前面的,距离最新的一个同级节点。

Node.parentNode

返回当前节点的父节点。父节点只可能包括三种类型:element节点、document节点、documentfragment节点

childNodes

返回一个nodelist集合,成员包括当前节点的所有子节点。

输出所需要的节点内容:

div id="asia">
        <span id="china">china</span>
        <span id="japan">japan</span>
        <span id="india">india</span>
    </div>
    <script>

        var asia = document.getElementById('asia');
        console.log(asia.childNodes);
        for (var i = 0; i < asia.childNodes.length; i++) {
            if (asia.childNodes[i].nodeName == 'SPAN') {
                console.log(asia.childNodes[i].textContent);
            }
        }
    </script>

firstChild/lastChild

返回当前节点的第一个或者最后一个子节点。如果没有找到返回null。

三 节点对象的方法

Node.appendChild()

接收一个对象节点作为参数,将其作为最后一个节点,插入当前节点。

<input type="text" id="coffes" value="">
    <button οnclick="addcoffe2()">用户输入</button>
    <div id="coffetype">
        <span id="moka">摩卡</span>
        <span id="suro">速溶</span>
        <span id="usA">美式</span>
        <span id="nt">拿铁</span>
    </div>

function addcoffe() {
            var cinput = document.getElementById('coffes');                                  //提取input标签
            var inputvalue = cinput.value;                                                                //将输入的赋值给inputvalue
            var cspan = document.createElement('span');                                       //创建一个新span标签
            cspan.innerHTML = inputvalue;                                                             //新标签的内容为输入的inputvalue
            cspan.setAttribute('id',inputvalue);                                                        //在新标签内加入id值
            console.log(cspan);
            Tcoffetype.appendChild(cspan);                                                        //父节点接受一个对象节点为参数插入当前节点
        }
         //此方法为创造节点对象  

        function addcoffe() {
            var cinput = document.getElementById('coffes');                                //提取input节点
            var inputvalue = cinput.value;                                                              //将输入的值赋值给inputvalue
            var cspan = '<span id="'+inputvalue+'">'+inputvalue+'</span>';    //定义一个新标签按标签格式写
            var oldel = coffetype.innerHTML;                                                         //把老的标签的内容提取出来
            var addele = oldel + cspan;                                                                   //最后新的内容为老标签内容加新标签内容
            coffetype.innerHTML = addele;                                                             //父节点的新内容addele
        }
         //此方法为字符串拼接

Node.removeChild()

方法接收一个子节点作为参数,用于从当前节点移除该子节点。返回被移除的子节点。

button οnclick="replacecoffe()">click</button>
    <div id="coffetype">mika
        <span id="moka">摩卡</span>
        <span id="suro">速溶</span>
        <span id="usA">美式</span>
        <span id="nt">拿铁</span>
    </div>

function removecoffe() {
            var removetype = document.getElementById('moka');                             //将标签节点提取出来
            coffetype.removeChild(removetype);                                                        //进行该节点的移除
        }

Node.replaceChild()

方法用于将一个新的节点替换当前节点的某一个子节点。接收两个参数,第一个参数是用来替换的新节点,第二个参数是将要被替换的节点。

function replacecoffe() {
            var newtype = document.createElement('SPAN');                                      //创造一个新标签span                                         newtype.innerHTML = '我爱你';                                                                   //为新标签赋值
            var replacetype = document.getElementById('moka');                               //将要替换的标签提取出来
            coffetype.replaceChild(newtype,replacetype);                                            //第一个为新节点,第二个为将被替换
        }





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值