zoukankan      html  css  js  c++  java
  • Js事件流

     事件流:事件触发的顺序

    事件流包括三个阶段:捕获阶段,目标阶段,冒泡阶段

    冒泡阶段:事件由最具体元素触发,向上传播的过程
    目标阶段:就是你最终触发的那个元素(即目标元素)
    捕获阶段:事件由不具体的元素向下查找,直到找到你触发的那个元素,与事件冒泡相反

    冒泡排序:是数组排序算法 注意和事件冒泡是不同

    阻止冒泡: e.stopPropagation();   //同时会阻止冒泡和捕获

    
    阻止默认行为: e.preventDefault();
     

    DOM常用操作方法

    创建(增)

    1.createElement() 创建标签
    2.createTextNode() 创建文本
    3.createDocumentFragment() 创建文档碎片,所有的操作是在内存中进行的
     
      为了避免重绘和回流:咱们插入dom时可采用createDocumentFragment,最后一次性的再添加到页面的dom中
    4.cloneNode(true)  克隆  //添加true代表深度克隆,包括子节点的所有内容也可以克隆过来

    修改:

    父节点.appendChild(子节点)  尾追加
    父节点.insertBefore(新节点,参考节点) 前追加
    父级节点.removeChild(要删除的子级节点) 移除节点
    replaceChild(新节点,旧节点)  替换节点

    查询

    getElementById()  获取id ,如果页面上有多个相同id,只返回第一个
    getElementsByTagName() 获取标签名 返回是类数组
    getElementsByName()  获取表单中name名称  返回类数组
    getElementsByClassName  只能获取class名称  返回类数组
    querySelector  只获取匹配的第一个css选择器  //特别适合移动端
    querySelectorAll  获取匹配的css选择器类数组 //特别适合移动端

    节点关系

    parentNode:找父节点
    parentElement:找父元素
    
    previousSibling:找前一个兄弟节点
    previousElementSibling:找前一个兄弟元素
    nextSibling:找后一个兄弟节点
    nextElementSibling:找后一个元素节点
    
    childNodes:属性,即包括元素节点,也包括文本节点
    children:属性 只获取直接子级元素,不获取文本节点(元素类型===1)
    firstNode:找第一个节点
    lastNode:找最后一个节点
    hasChildNodes:用于判断是否有子元素

    属性型

    setAttribute
    getAttribute
  • 相关阅读:
    后续阶段第二天
    后续阶段第一天
    冲刺第五天
    冲刺第四天
    冲刺第三天
    冲刺第二天
    第二阶段-冲刺第一天
    第一阶段项目总结
    冲刺(7)
    团队开发冲刺第一阶段_6
  • 原文地址:https://www.cnblogs.com/z-j-c/p/13047153.html
Copyright © 2011-2022 走看看