0
点赞
收藏
分享

微信扫一扫

JavaScript(DOM节点操作)

琛彤麻麻 2022-03-12 阅读 57

DOM节点方式:利用节点层级关系获取元素

利用父子兄节点关系获取元素。

节点:网页中的所有内容都是节点(标签、属性、文本、注释等),在DOM中,节点使用node来表示。

一般地,节点至少拥有nodeType(节点类型)、nodeName(节点名称)和nodeValue(节点值)这三个基本属性。

元素节点 nodeType --> 1 ​

属性节点 nodeType --> 2 ​

文本节点 nodeType --> 3(文本节点包含文字、空格、换行等)

通过属性去获取元素:

<ul id="oUl">
    <li><li>
    <li><li>
    <li><li>
    </ul>
var oUl=document.getElementById("oUl");
var li3=oUl.childen[2];
​
console.dir();//显示所有属性

获取父子级标签:

节点操作之节点创建:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>节点操作之节点创建</title>
        <style type="text/css">
            .oUl {
                border: 1px solid red;
                width: 100%;
                height: 100px;
                ;
            }
        </style>
        <script type="text/javascript">
            var oBtn = document.getElementById("oBtn");
            oBtn.onclick = function() {
                //创建元素节点 
                var newli = document.createElement("li");
                console.log(newli);
​
                //创建一个文本节点
                var newli = document.createTextNode("文本内容");
                newli.appendChild(Text);
                //创建属性
                var myId = document.createAttribute("id");
                //在li标签上设置属性
                newlo.setAttributeNode(myId);
​
                //指定标签中添加标签 appendChild(向指定的末尾追加)
                var oUl = document.querySelector(".oUl")
                oUl.appendChild(newli);
​
                //insertBefore  在指定的节点之前添加一个新的节点
                // node.insertBefore(newNode,指定的节点)
                var oBtn3 = document.getElementById('oBtn3');
                oBtn3.onclick = function() {
                    //需求:在ul之前追加一个p段落标签
                    var oUl = document.querySelector('.oUl');
                    var lis = oUl.firstElementChild;
​
                    //创建一个p段落标签
                    var newP = document.createElement('p');
                    var textP = document.createTextNode('我是P段落');
                    newP.appendChild(textP);
                    
                    //inserBefore();新增
                    co  nsole.log(oUl.insertBefore(newP, lis));
                };
            }
​
​
            var oBtn3 = document.getElementById('oBtn3');
            oBtn3.onclick = function() {
                //需求:在ul之前追加一个p段落标签
                var oUl = document.querySelector('.oUl');
                var lis = oUl.firstElementChild;
​
                //创建一个p段落标签
                var newP = document.createElement('p');
                var textP = document.createTextNode('我是P段落');
                newP.appendChild(textP);
​
                //insertBefore  在指定的节点之前添加一个新的节点
                // node.insertBefore(newNode,指定的节点)
                console.log(oUl.insertBefore(newP, lis));
            };
        </script>
    </head>
    <body>
        <ul class="oUl">
​
        </ul>
        <button type="button" id="oBtn">点击按钮创建li添加到ul列表中</button>
        <button id="oBtn3">insertBefore</button>
    </body>
</html>
​

我的留言:

setAttribute(); 设置元素的属性
getAttribute();//获取元素的属性
removeAttribute(); 移除元素的属性
举报

相关推荐

0 条评论