• DOM


    查询或选取单独的元素

    1
    2
    3
    4
    5
    6
    // 通过Id查找元素
    var xxx = document.getElementById("xxx");;
    // 通过标签名查找元素集合
    var spans = document.getElementsByTagName("span");
    // 通过样式名查找元素集合,在IE9+有效
    var sels = document.getElementsByClassName("sel");

    ECMAScript5新增了 querySelector() 和 querySelectorAll() 两个函数,这两个函数都是通过Css选择符查找元素:支持的浏览器有IE8+、Firefox 3.5+、Safari 3.1+、Chrome 和 Opera 10+

    querySelector()

    querySelector() 返回第一个匹配元素 若无则返回null

    1
    2
    3
    4
    5
    6
    7
    8
    // 取得 body 元素
    var body = doucument.querySelector("body");
    // 取得 Id 为"myDiv"的元素
    var myDiv = doucument.querySelector("#myDiv");
    // 取得类为"selected"的第一个元素
    var selected = doucument.querySelector(".selected");
    // 取得类为"button"的第一个图像元素
    var img = doucument.querySelector("img.button");

    querySelectorAll()

    querySelectorAll()与querySelector()接收参数一样,不同的是querySelectorAll()返回的是NodeList的实例

    遍历节点, 查找节点的祖先,兄弟和后代元素

    • parentNode 返回元素的父节点
    • childNodes 返回元素的子节点的NodeList
    • firstChild/lastChild 返回元素的首个子节点/最后一个子节点
    • nextSibling/previoursSibling 返回元素之后紧跟的节点/之前紧随的节点
    • nodeType 返回节点的类型
    • nodeValue 返回节点的值
    • nodeName 返回节点名称

    查询和设置文档属性

    • createAttribute() 创建属性节点
    • getAttribute(name) 返回属性值, 该值是字符串型, 而不是数值、布尔值或对象
    • setAttribute(name,value) 设置属性值
    • hasAttribute(name) 检测是否还有属性, 返回布尔值
    • removeAttribute(name) 完全删除属性

    查询,设置和修改文档内容

    1
    document.getElementById("p1").innerHTML="New text!";

    改变 HTML 样式

    1
    document.getElementById("p2").style.color="blue";

    JS中style属性用驼峰方式编写 (所有定位的属性都必须包含单位)

    1
    2
    3
    4
    5
    e.style.fontSize = "14px";
    e.style.fontWeight = "bold";
    e.style.color = "blue";
    e.style.left = "300";   // 错误的写法
    e.style.left = "300px";

    创建,插入和删除节点

    创建节点

    • 创建新的元素节点:createElement()
    • 创建新的属性节点: createAttribute() 或者 setAttribute(name,value)
    • 创建文本节点: createTextNode()

    插入节点

    • 添加节点: appendChild() 向已存在的节点添加子节点
    • 插入节点: insertBefore() 在指定的子节点之前插入节点
    • 添加新属性: setAttribute(name,value)
    • 添加文本节点: insertData(offset,string) 在已有的文本节点的offset处插入中数据string

    删除和替换节点

    • 删除节点: removeChild(name) 删除指定的节点(其子节点也被删除)
    • 删除属性节点: removeAttribute(name) / removeAttributeNode(node)
    • 替换元素节点: replaceChild()
    • 替换文本节点的数据: replaceData(offset,length,string) 从offset处开始替换字符, 要替换的字符长度length, 替换字符串string 或者直接使用nodeValue属性直接替换文本节点的数据 : X.nodeValue = “xxxx”;
  • 相关阅读:
    整系数多项式的有理根的一个性质
    整系数多项式的有理根的一个性质
    《陶哲轩实分析》——给读者的一点建议
    《陶哲轩实分析》——给读者的一点建议
    不要把时间浪费在QQ上
    整系数多项式的整除平移不变性
    在Ubuntu上安装MATLAB
    边缘AI方案落地问题探讨
    主干开发前要知道的,4错误认识+3优势
    有了这个告警系统,DBA提前预警不是难题
  • 原文地址:https://www.cnblogs.com/ldlx-mars/p/6827553.html
Copyright © 2020-2023  润新知