• JS-DOM节点属性


    DOM属性

    元素对象属性:

    nodeType 节点类型

    nodeName 节点名称

    nodeValue 节点值

    常用节点属性

     nodeTypenodeNamenodeValue
    document/文档 9 #
    Element/元素 1 元素标签的名字 null
    attrbute/属性 2 属性名称 属性的值
    Text/文本 3 #text 文本的值
    注释节点 8 #comment 注释内容

    元素节点是没有nodeValue,里边内容属于文本对象

    //例子如下
    //<body>
    //    <div id="one" class="one" style="color:red">test</div>
    //</body>
    
    //获取常用节点
    //文档对象
    
        console.log(document.nodeType+"    "+document.nodeName+"   "+document.nodeValue);
    
    //元素对象
    
        let divObj = document.getElementsByTagName("div")[0];
        //获取元素对象,以div为例
    
        console.log(divObj.nodeType+"    "+divObj.nodeName+"   "+divObj.nodeValue);
    
    //属性对象
    
       let attrs =   divObj.attributes;
        //获得该元素的属性节点集合(返回元素的属性的 NamedNodeMap)
    
        console.log(attrs);
        //显示属性类容
    
        //取出该集合中的某个属性对象(对象)
        //1.可以通过下标来获取
        let idObj = attrs[0];
        //2.NamedNodeMap提供的方法
            let idObj = attrs.getNamedItem("id");
            //通过名称
            let idObj = attrs.item(0);
            //通过下标
    
        console.log(idObj.nodeType+"    "+idObj.nodeName+"   "+idObj.nodeValue);
    
        idObj.nodeValue="new_one";
        //可以通过属性对象的nodevalue来设置属性的值
    
        console.log(divObj.id);
        divObj.id="show_one";
        //通过nodeValue来获取和设置属性的值比较麻烦。
        //所以我们都是通过 点 操作符来 获取和设置 属性的值(前提是元素节点必须有该属性)
        
        divObj.className="test_class";
        console.log(divObj.className);
        //使用classs属性时注意: 是  .classsName 
        //divObj.class="test_class"; 不能修改  必须使用 className

    查询对象除了通过documen的六种方法找寻外

    还可以通过元素之间的关系找寻

    1. 父节点/parentNode

    2. 子节点/chlidNode

      第一个子节点/fristChild

      最后一个子节点/lastChild

    3. 兄弟节点

      下一个兄弟/nextSibiling

      上一个兄弟/previousSibiling

  • 相关阅读:
    工业设计之美
    狠挖用户需求与用户分析——赫志中
    《必然》
    在一周内学会使用 AUTO CAD
    可控硅调光知识总结
    PADS Logic Decal、Layout Decal绘制
    BUCK-BOOST反激变压器设计
    RCC BUCK-BOOST变压器设计
    产品生产
    由《旧制度与大革命》提取的5个感触
  • 原文地址:https://www.cnblogs.com/-Archenemy-/p/12370118.html
Copyright © 2020-2023  润新知