• js dom


    js dom

    元素节点:

    分类:元素节点,属性节点,文本节点,注释节点

             nodeName       nodeValue        nodeType

              元素节点  标签名                 null                     1

              属性节点  属性名                 属性值              2

              文本节点  #text             文本值          3

              注释节点#comment                 注释内容         8

    获取节点所有的子节点: 节点.childNodes

    获取节点所有属性节点: 节点.attributes

    元素节点的4种获取方式

    document.getElementById(传入id名);

    document.getElementsByClassName(传入样式名x)[0];表示第一个样式名为x的标签

    document.getElementsByTagName(传入标签名y)[0];表示第一个标签名为y的标签

    Document.getElementsByName(传入name属性名z)[0];表示第一个name属性名为z的标签

    获取的所有子节点返回的是一个数组:

    Demo:

    <div id="box" class="div" style=" 30px;height: 50px;" name="nana">我是一个文本节    点<!--我是注释节点--><span name="nana">我是一个span标签</span></div>

    var oDiv = document.getElementById("box");

             console.log( oDiv.childNodes );

             var oDivChilds = oDiv.childNodes;

             console.log( oDivChilds[0].nodeName,oDivChilds[0].nodeValue,oDivChilds[0].nodeType );

    console.log( oDivChilds[1].nodeName,oDivChilds[1].nodeValue,oDivChilds[1].nodeType );

    节点的层次关系:

    var oDiv = $("box");

    console.log( oDiv.innerText );

    console.log( oDiv.innerHTML);

    innerText和innerHTML的区别:

    前者是获取标签内的内容,把标签里的标签视为内容读出,包括标签里的标签的内         容。

    或者是获取标签的内容,把标签里的标签视为内容读出;

    console.log( oDiv.firstChild );获取标签内的第一个子节点

    注意:第一个节点不一定是标签内的元素,还有可能为回车!!

    console.log( oDiv.lastChild );获取标签内的最后一个子节点

    console.log( oDiv.parentNode );获取标签的父节点

    兄弟节点:

    console.log( oDiv.previousSibling );获取前一个兄弟节点

    console.log( oDiv.nextSibling);获取下一个兄弟节点

    console.log( oDiv.owerDocument );获取根节点

     创建元素节点:

    document.creatElement(“div”);创建一个div标签

    var oDiv = document.createElement("div");

    设置样式:

    oDiv.className = "box";

                      oDiv.style.backgroundColor = randomColor();

    例子:

    <div id="box" class="div" style=" 30px;height: 50px;" name="nana">我是一个文本节点<!--我是注释节点--><span name="nana">我是一个span标签</span></div>
    <script type="text/javascript">
    //元素节点、文本节点、属性节点、注释节点

    // nodeName nodeValue nodeType -->了解
    // 元素节点 标签名 null 1
    // 属性节点 属性名 属性值 2
    // 文本节点 #text 文本值 3
    // 注释节点#comment 注释内容 8

    //获取节点所有的子节点 节点.childNodes
    //获取节点所有属性节点 节点.attributes

    //1. 元素节点 4种方式获取
    var oDiv = document.getElementById("box");
    var oDiv = document.getElementsByClassName("div")[0];
    //var oDiv = document.getElementsByTagName("div")[0];
    //var oDiv = document.getElementsByName("nana")[1];
    //console.log( oDiv.innerHTML );

    //获取节点所有的子节点
    console.log( oDiv.childNodes );
    var oDivChilds = oDiv.childNodes;
    // //2.文本节点
    console.log( oDivChilds[0].nodeName,oDivChilds[0].nodeValue,oDivChilds[0].nodeType );
    // //3.注释节点
    console.log( oDivChilds[1].nodeName,oDivChilds[1].nodeValue,oDivChilds[1].nodeType );
    //
    // //4.获取元素节点的属性节点
    console.log( oDiv.attributes );
    var oDivAttris = oDiv.attributes;
    console.log( oDivAttris[0].nodeName,oDivAttris[0].nodeValue,oDivAttris[0].nodeType );

    <input type="radio" name="" /><input type="text" name="" /><div id="box">
    <span>我是span1</span>
    <span>我是span2</span></div><input type="text" name="" />
    <script type="text/javascript">

    // 怎么获取前面所有的兄弟元素??????


    var oDiv = $("box");
    // 1.获取所有的子节点 childNodes
    console.log( oDiv.innerHTML) // innerHTML 加标签
    // 2.获取第一个子节点 firstChild
    console.log( oDiv.firstChild ); //div的后面 span前面 huiche
    // 3.获取最后一个子节点 lastChild
    console.log( oDiv.lastChild );
    // 4.获取父节点 parentNode //body
    console.log( oDiv.parentNode );

    ////////////////兄弟关系/////////////////
    // 5.获取前一个兄弟节点 previousSibling
    console.log( oDiv.previousSibling ); //input ul li
    // 6.获取下一个兄弟节点 nextSibling
    console.log( oDiv.nextSibling );

    ///////////////////根节点/////////////////
    console.log( oDiv.ownerDocument ); //最后结点 包括body


    </script>

    //document.createElement("div");
    function createDiv(){
    var oDiv = document.createElement("div"); //创建什么元素
    //oDiv = $("div");
    //console.log(oDiv)
    //设置div的样式
    // 方法一:用js设置样式
    // oDiv.style.width = "200px";
    // oDiv.style.height = "200px";
    // oDiv.style.backgroundColor = randomColor();
    // oDiv.style.float = "left";
    // // 方法二:用css设置样式
    oDiv.className = "box"; //起类名
    oDiv.style.backgroundColor = randomColor(); //设置背景颜色
    oDiv.style.left = ( Math.random()*($w()-40) )+"px"; //设置定位的left top
    oDiv.style.top = ( Math.random()*($h() -40) )+100+"px";

    // 父节点.appendChild(子节点) 将子节点添加到父节点孩子列表的末尾
    document.body.appendChild(oDiv);
    }
    setInterval("createDiv()",1000)
    </script>

  • 相关阅读:
    如何禁用Xcode7下iOS9 App传输安全,并修复无法连接服务器错误
    iOS单例清除
    Git忽略规则及.gitignore规则不生效的解决办法
    javascript 在ie8中报“缺少标识符、字符串或数字“问题再现:
    树莓派 远程桌面 设置显示中文
    在IIS Express中调试时无法读取配置文件 错误
    Win7 下IIS(7.5)发布 ASP.NET MVC
    .Net中使用com组件后发生System.ArithmeticException异常的解决办法(Message=算术运算中发生溢出或下溢。)
    CodeSimth
    windows 开机启动 CassiniDev(IIS替代软件)
  • 原文地址:https://www.cnblogs.com/lh0127/p/9622295.html
Copyright © 2020-2023  润新知