DOM1

//DOM(文档对象)
            //DOM定义了访问和操作HTML文档的标准方法
            //DOM树祖先级是document
            //根元素是<html>什么是根元素在节点数中,顶点节点被称为根元素也称为根节点
            //HTML 文档中每个成员都是节点
            //HTML里的标准都是元素节点
            //HTML里的换行叫文本节点
            //HTML里的属性都叫属性节点

            //DOM节点中节点彼此拥有层级关系
            //DOM节点里除了HTML根元素节点以外,每个节点,都有父节点,子节点,兄弟节点(意思是同级的节点)。
            
            //dom查找属性元素节点
            //关键字里带S的都是类数组要加上[0];
            //document.getElementById();//通过id查找 
            //document.getElementsByTagName();//标签名查找:推荐使用;
            //document.getElementsByName();//通过name属性,部分标签可以;Elements加了S,选出来是类数组;
            //document.getElementsByClassName();//通过class查找;Elements加了S,选出来是类数组;IE9以下不支持;
            var div = document.getElementsByTagName("span")[1];//第2个span标签,
            console.log(div);
            
            //查看DOM节点树              
            // parentElement           // 父节点标签元素
            // children                // 所有子标签
            // firstElementChild       // 第一个子标签元素  
            // lastElementChild        // 最后一个子标签元素
            // nextElementSibling     // 下一个兄弟标签元素
            // previousElementSibling  // 上一个兄弟标签元素
               
            //通过关系查找
            var num = document.getElementsByTagName("div")[0];
            //查找div的第一个子元素,和第一个字元素的下一个元素的简写;
            var a = num.firstElementChild.nextElementSibling;
            //查找a标签的下一个兄弟元素;
            var b = a.nextElementSibling;
            console.log(a)//<p>2</p>
            console.log(b)//<p>3</p>
            
            //遍历节点树(兼容性好)
            //   parentNode   父节点    一直获取,最顶端parentNode是 #document
            //   childNodes   子节点   包括文本注释等节点
            //   firstChild   第一个节点
            //   lastChild   最后一个节点
            //   nextSibling  下一个兄弟节点 
            //   previousSibling   上一个兄弟节点 
            //输出div所有节点树(包括元素节点,属性节点,文本节点,和注释节点。)
            var  a1 = num.childNodes;
            //返回一个类数组
            console.log(a1);
            //可以通过下标来选取其中的一个节点
            console.log(a1[1]);
            //试试可不可以通过下表来操作这个节点
            //可以修改这个值,
            a1[1].innerHTML = 2;
            console.log(a1[1]);//2
            //查找所有的A标签
            var num = document.getElementsByTagName("a");
            console.log(num);
            //遍历节点
            for(var i = 0 ; i < num.length; i++){
//              循环给这个标签添加事件
//              在给一个函数名
                num[i].onclick  = fun;
            }
            //在函数里写相关的操作
            function fun(){
                console.log("我被点击了");
            };
//修改样式
            var tin = document.getElementsByTagName("div")[0];
            //样式修改是
            //修改的标签.style.添加修改的样式
            //CSS里但凡出现-的在JS里都变成大坨峰命名。
            tin.style.color = "#f00";
  //DOM树的继承
//          document 代表文档
//          Document 代表构造函数当它是构造函数时它就有prototype(原型)首字符大写不用自己添加nwe 关键字,系统自动生成
posted @ 2019-12-02 16:22  石舟丿  阅读(326)  评论(0)    收藏  举报