• webAPI编程-02


    3.操作元素

    • 排他思想:

      • 如果有同一组元素,我们想要某一个元素实现某种样式,需要用到循环的排他思想算法:
        • 1.所有元素全部清楚样式
        • 2.给当前元素设置样式
        • 注意顺序不能颠倒
    • 自定义属性的操作

      • 获取属性值

        • element.属性 //获取属性值 (获取内置属性值——元素本身自带的属性)
        • element.getAttribute('属性') (主要获取自定义的属性(标准) 程序员自定义的属性)
      • 设置元素属性值

        • element.属性 = '值'
        • element.setAttribute('属性','值') //自定义属性
      • 移除属性

        • element.removeAttribute(属性)
      • H5自定义属性

        • H5规定自定义属性data-开头做为属性名并且赋值

          • eg:<div data-index = "1" ></div>;
            
          • eg:element.setAttribute('data-index',2);
            
        • 获取H5自定义属性

          • 1.兼容性获取element.getAttribute('data-index')
          • 2.H5新增element.dataset.index或者element.dataset['index'] ie11才支持(只能获取data-开头的)
            • 如果自定义属性里面有多个-链接的单词,获取的时候采取驼峰命名法
              • eg:data-list-name——listName

    4.节点操作

    • 网页中所有的内容都是节点(标签、属性、文本、标签等),在DOM中,节点使用node来表示

    • 节点的三个基本属性:nodeType(节点类型)、nodeName(节点名称)、`nodeValue(节点值)

    • 父级节点:node.parentNode

      • parentNode属性可返回某节点的父节点,注意是最近的一个父节点
      • 如果指定的节点没有父节点则返回null
    • 子节点:

      • parentNode.childNodes(标准)

        • 返回包含指定节点的子节点的集合,该集合为即时更新的集合
      • parentNode.children(非标准)

        • 是一个只读属性,返回所有的子元素节点,它只返回子元素节点,其余节点不返回
      • parentNode.firstElementChild //返回第一个子元素节点,找不到则返回null(ie9才支持)

      • parentNode.lastElementChild //返回最后一个子元素节点,找不到则返回null(ie9才支持)

      • parentNode.children[0] //既没有兼容性问题又返回第一个子元素

      • `parentNode.children[parentNode.children.length - 1] // 返回最后一个子元素

    • 兄弟节点

      1.node.nextSibling;
      
      • nextSibling返回当前元素的下一个兄弟节点,包含元素节点、文本节点等等,找不到则返回null;包含所有节点
      2.node.previousSibling;
      
      • previousSilbing返回当前元素上一个兄弟节点,找不到则返回null;包含所有的节点
      3.node.nextElementSibling;
      
      • nextElementSibling返回当前元素下一个兄弟元素节点,找不到则返回null
      4.node.previousElemnetSibling;
      
      • previousElementSibling返回当前元素上一个兄弟元素节点,找不到返回null (ie9以上才支持)
    • 创建节点

      document.createElement('tagName');
      
      • document.creatElement()方法创建由tagName指定的html元素。因为这些元素原先不存在,是根据我们的需求动态生成的,所以也成为动态创建元素节点
    • 添加节点

      1.node.appendChild(child);
      
      • node.appendChild()方法将一个节点添加到指定父节点的子节点列表末尾,类似于CSS里面after伪元素
      2.node.insertBefore(child,指定元素);
      
      • node.insertBefore()方法将一个节点添加到父节点的指定子节点前面,类似于CSS里面的before伪元素
  • 相关阅读:
    二分图大讲堂——彻底搞定最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配
    POJ1469 COURSES
    HDU 1850 Being a Good Boy in Spring Festival(Nim博弈)
    取石子游戏(博弈)
    过山车(匈牙利算法)
    匈牙利算法与二分图
    HLG 1126 Final Destination II (转化为矩阵)(水题)
    快速幂与矩阵—>快速矩阵幂
    再论斐波那契数列(矩阵&快速幂)
    浮点数的陷阱--double i != 10 基本都是对的,不管怎么赋值
  • 原文地址:https://www.cnblogs.com/lzy2000----/p/15129015.html
Copyright © 2020-2023  润新知