zoukankan      html  css  js  c++  java
  • JavaScript——DOM操作

    DOM-(Document Object Model)即文档对象模型。
    JavaScript可以动态地修改DOM,从而来修改HTML的内容。


    查找HTML元素

    • 通过 id 找到 HTML 元素

    • 通过标签名找到 HTML 元素

    • 通过类名找到 HTML 元素


    设置样式总结:

    • className:用于为DOM元素直接添加一个样式类

    • style:用于为DOM元素添加某一个样式值,注意驼峰写法

    • styleText:用于为DOM元素一次添加多个样式


    创建和增加节点:

    • createElement():创建节点

    • appendChild():末尾追加方式插入节点

    • insertBefore()在指定节点前插入新节点

    • cloneNode():克隆节点


    相关练习代码:

    动态添加内容

        <script type="text/javascript">
            window.onload = function() {
                var d = document.getElementById('d');
                //创建一个节点,里面是节点标签的名字
                //定义个变量,等于创建好的标签,然后在再向其中添加内容
                var a = document.createElement('a');
                a.href = '01.html';
                a.innerText = '添加的新内容';
                //添加元素到div里
                d.appendChild(a);
                //在指定节点前插入新的节点
                var p = document.createElement('p');
                //添加文本内容
                p.innerText = "这是被添加的内容";
    //            d.appendChild(p);
                //参数1:要添加的元素,参数2:指定节点
                d.insertBefore(p,a);
    
                //克隆节点
                var span = document.getElementById(s);
                //克隆元素
                //cloneNode()有个参数,默认是false,修改为true,可以将原来的标签也克隆出来
                var spanc = span.cloneNode(true);
                d.appendChild(spanc);
            }
        </script>
    
    
    <body>
    <div id="d">
    </div>
    <span id="s">
        span标签内的内容
    </span>
    </body>

    根据层次关系查找节点

    <script>
        window.onload = function() {
            //通过id找到所需要的td
            var t1 = document.getElementById('t1');
            //获取父节点元素
            var tr = t1.parentNode;
            tr.style.backgroundColor = 'red';
    
            //获取子节点元素
            var tt3 = document.getElementById('tt3');
            tr.lastElementChild;
            tt3.innerText = 'blue';
    
            //前一个元素节点
            var t4 = t3.previousElementSibling;
            t4.innerText = "000000";
    
            //后一个元素节点
            var t5 = t4.nextElementSibling;
            t5.innerText = "XXXXXX";
        }
    </script>
    
    
    <body>
    <table>
        <tr>
            <td id = "t1">1</td>
            <td id = "t2">2</td>
            <td id = "t3">3</td>
        </tr>
        <tr>
            <td id = "tt1">1</td>
            <td id = "tt2">2</td>
            <td id = "tt3">3</td>
        </tr>
    </table>
    </body>
    
    

    设置样式

        <script type="text/javascript">
            window.onload=function(){
                /*            文档就绪函数*/
                 var d = document.getElementById('d');
                //添加文本信息
    /*            d.innerText = "添加文本信息";
                d.innerHTML = "可以直接添加文本信息,还可以添加标签";*/
    
                var abc = document.getElementsByName('abc');
    
                /*错误,ByName返回的是个数组,要通过数组来选取*/abc.href = "";
    
                /*ByName 通过数组下标得到对应元素*/
                abc[0].innerText = "修改原先的内容,改变文本信息";
    
                /*传递标签名字,给标签添加内容,该标签无ID,也无class属性*/
                var span = document.getElementsByTagName('span');
                span[0].innerText("添加的文本信息");
    
                /*通过className找对应元素*/
                var c =document.getElementsByClassName('c');
                for(var i = 0; i < c.length; i++){
                    c[i].innerText = "把它原先的内容去改变";
                }
    
                /*属性是成对出现,属性名+属性方法*/
                document.getElementById("food").className = "fruit";
                document.getElementById("food").style.color = "red";
                document.getElementById("food").style.size = "20px";
            }
        </script>
    
    
    <body>
    <div id="d">
    </div>
    <a href="" name="abc">属性名字abc</a>
    <span>
    </span>
    </body>
    
  • 相关阅读:
    UI测试
    软件测试用例详解(转载)
    Mac设置命令别名
    CentOS7 开启免密登陆
    使用systemctl命令管理服务mysql
    Redis学习笔记02--主从数据库配置
    CentOS使用dnf安装Redis
    CentOS 7 防火墙设置
    Redis学习笔记01---配置文件
    CentOS7搭建Maven的Nexus私服仓库
  • 原文地址:https://www.cnblogs.com/aixing/p/13327762.html
Copyright © 2011-2022 走看看