zoukankan      html  css  js  c++  java
  • dom操作获取元素的若干方法

    // 1,getElementById:返回元素节点
    document.getElementById();

    // 2,getElementsByClassName:返回HTMLCollection对象(IE9以下不支持。)
    document.getElementsByClassName();

    // 3,getElementsByTagName:返回HTMLCollection对象
    document.getElementsByTagName();

    // 4,getElementsByTagName:返回nodeList对象,第0项为元素节点
    document.getElementsByName();

    // 5,querySelector:返回选择器匹配到的第一个元素节点(选择器同css用法一致,支持由外到内的嵌套写法)
    document.querySelector('#box em');

    // 6,querySelectorAll:返回nodeList对象(类似数组对象,每个值为选中元素节点)
    document.querySelectorAll();

    // 7,获取子元素集合
    // childNodes(IE:只获取元素节点;非IE:获取元素节点与文本节点;)
    document.getElementById().childNodes;
    // children(只获取元素节点,浏览器表现相同)
    document.getElementById().children;

    // 8,获取最后一个元素节点:lastElementChild(IE<9不支持)
    document.getElementById().lastElementChild;

    // 9,获取第一个元素节点:firstElementChild(IE<9不支持)
    document.getElementById().firstElementChild;

    // 10,获取后一个兄弟元素节点
    // nextSibling(IE<9:后一个兄弟元素节点;非IE6,7,8:后一个兄弟节点,文本节点或者元素节点)
    document.getElementById().nextSibling;
    // nextElementSibling(IE<9不支持)
    document.getElementById().nextElementSibling;

    // 11,获取前一个兄弟元素节点
    // previousSibling(IE<9前一个兄弟元素节点;非IE6,7,8:前一个兄弟节点,文本节点或者元素节点)
    document.getElementById().previousSibling;
    // previousElementSibling(IE<9不支持)
    document.getElementById().previousElementSibling;

    // 12,parentNode:获取父元素节点(parentElement用法一致,仅IE支持)
    document.getElementById().parentNode;

    // offsetParent:获取第一个设置定位的上级元素,返回元素节点
    console.log(document.getElementById().offsetParent)

    // 14,获取指定的某个上级元素的方法
    let el = document.getElementById();
    getParents(el, {id: 'box'})

    function getParents (el, option) {
    let ele = null;
    while (el.tagName !== 'BODY') {
    const attr = Object.keys(option)
    if (el[attr].toUpperCase() === option[attr].toUpperCase()) {
    ele = el;
    break;
    }
    el = el.parentNode;
    }
    return ele
    }
    本人前端水平有限,写的知识点可能有谬误,欢迎留言指正,如果看到,我将第一时间回复。感谢支持!
  • 相关阅读:
    深入理解泛型之JAVA泛型的继承和实现、泛型擦除
    hadoop过程中遇到的错误与解决方法
    微服务拆分到什么粒度合适——康威定律
    墨菲定律(设计系统)和康威定律(系统划分)
    Hadoop-Impala学习笔记之SQL参考
    Hadoop-Impala学习笔记之管理
    Hadoop2-HDFS学习笔记之入门(不含YARN及MR的调度功能)
    Hadoop-Impala学习笔记之入门
    解决 Invalid character found in method name. HTTP method names must be tokens 异常信息
    从康威定律和技术债看研发之痛
  • 原文地址:https://www.cnblogs.com/qddyh/p/10391853.html
Copyright © 2011-2022 走看看