• JS之DOM节点增删改查与属性设置


    增删改查演示

    增:

    '''
    createElement(name)创建元素
    appendChild();将元素添加
    '''

    :

    '''
    获得要删除的元素
    获得它的父元素
    使用removeChild()方法删除
    '''

    :

    第一种方式:

          使用上面增和删结合完成修改

    第二种方式:

    使用setAttribute();方法修改属性          

    使用innerHTML属性修改元素的内容

    :  使用之前介绍的方法.

     

    <script type="text/javascript">
    //在第一个div中动态增加一个a标签. 该a标签点击之后跳转到百度首页.
        function addNode(){
            //1.获得 第一个div
            var div = document.getElementById("div_1");
            //2.创建a标签  createElement==>创建一个a标签   <a></a>
            var eleA =  document.createElement("a");
            //3.为a标签添加属性 <a href="http://www.baidu.com"></a>
            eleA.setAttribute("href", "http://www.baidu.com");
            //4.为a标签添加内容 <a href="http://www.baidu.com">百度</a>
            eleA.innerHTML = "百度";    
            //5.将a标签添加到div中
            div.appendChild(eleA);
        }
        //点击后 删除div区域2
        function deleteNode(){
            //1 获得要删除的div区域
                var div = document.getElementById("div_2");
            //2.获得父亲
                var parent = div.parentNode;
            //3 由父亲操刀 
                parent.removeChild(div);
        }
        //点击后 替换div区域3 为一个美女
        function updateNode(){
            //1 获得要替换的div区域3
            var div = document.getElementById("div_3");
            //2创建img标签对象 <img />
            var img = document.createElement("img");
            //3添加属性 <img src="001.jpg" />
            img.setAttribute("src", "001.JPG");
            //4.获得父节点
            var parent = div.parentNode;
            //5.替换
            parent.replaceChild(img, div);
        }
        //点击后 将div区域4 克隆一份 添加到页面底部
        
        function copyNode(){
            //1.获取要克隆的div
            var div = document.getElementById("div_4");
            //2.克隆 参数为true 那么克隆时克隆所有子元素. false 只克隆自己
            var div_copy = div.cloneNode(true);
            //3.获得父亲
            var parent = div.parentNode;
            //4.添加
            parent.appendChild(div_copy);
        }
        
        
    </script>

    修改 HTML DOM 

    • 改变 HTML 内容 

            改变元素内容的最简答的方法是使用 innerHTML ,innerText。

    • 改变 CSS 样式
    '''
    <p id="p2">Hello world!</p>
    document.getElementById("p2").style.color="blue";<br>                             .style.fontSize=48px
    '''
    • 改变 HTML 属性 

            elementNode.setAttribute(name,value)

            elementNode.getAttribute(name)<-------------->elementNode.value(DHTML)

    • 创建新的 HTML 元素 

            createElement(name)

    • 删除已有的 HTML 元素 

            elementNode.removeChild(node)

    • 关于class的操作 

            elementNode.className

            elementNode.classList.add

            elementNode.classList.remove

     

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    
        <style>
            .div1,.div2,.div3,.div4{
                width:300px;
                height:100px;
            }
            .div1{
                background-color: green;
            }
            .div2{
                background-color: #d900ff;
            }
            .div3{
                background-color: rebeccapurple;
            }
            .div4{
                background-color: yellow;
            }
        </style>
    </head>
    <body>
        <div class="div1">
            <button onclick="add()">添加</button>
            hello div1
        </div>
        <div class="div2">
            <button onclick="del()">删除</button>
            hello div2
        </div>
        <div class="div3">
            <button onclick="change()">修改</button>
            <p>hello div3</p>
        </div>
        <div class="div4 div5">hello div4</div>
    
        <script>
            // node的CURD
            function add() {
                var ele=document.createElement('p'); // 创建元素
                ele.innerHTML='<h6>hello p<h6>'; // 为所创建元素添加文本
                // ele.innerText='<h6>hello p<h6>'; // 和innerHTML有区别
                var ele1=document.getElementsByClassName('div1')[0]; // 找到其父元素
                ele1.appendChild(ele); // 将元素添加,必须是父节点进行操作
            };
            function del() {
                var ele1=document.getElementsByClassName('div1')[0]; // 获得要删除的元素的父元素
                var ele=ele1.getElementsByTagName('p')[0]; // 获得要删除的元素
                ele1.removeChild(ele); // 删除元素,必须是其父元素进行操作
            };
            function change() {
                var img=document.createElement('img'); // 创建元素
                // img.setAttribute('src', 'icon.jpg'); 和下面一样的功能
                img.src='icon.jpg'; // 找到img标签的图片路径
                img.style.width='50px';
                img.style.height='50px';
                var ele1=document.getElementsByClassName('div3')[0]; // 找到要修改元素的父元素
                ele=ele1.getElementsByTagName('p')[0]; // 找到要修改的元素
                ele1.replaceChild(img,ele); // 修改元素,必须是其父元素进行操作
            };
            // 关于class的操作(可用于对标签的隐藏及显现的操作)
            var div=document.getElementsByClassName('div4')[0];
            console.log(div.className); // div4 div5获取标签所有的class值
            console.log(div.classList); // ["div4", "div5", value: "div4 div5"]获取标签所有class值并返回一个数组
            console.log(div.classList[0]); // div4
            div.classList.add('hide'); // 添加标签的一个class值
            console.log(div.className); // div4 div5 hide
            div.classList.remove('hide'); // 删除标签的一个class值
            console.log(div.className); // div4 div5
        </script>
    </body>
    </html>
    while True: print('studying...')
  • 相关阅读:
    android中的webview白屏问题
    7-24分享
    Excel----考勤表制作自动更新日期
    (二十五)微信小程序的登陆 实际逻辑
    微信退款流程
    (二十八)加锁
    (二十七)竞价
    (二十六)拍卖专场相关的接口
    (二十六)微信小程序支付流程
    (二十四)微信小程序支付
  • 原文地址:https://www.cnblogs.com/xuewei95/p/15036948.html
Copyright © 2020-2023  润新知