2023-07-25

for in forof forEach

  1. for in

    • 会遍历到数组的属性,包含后添加的,不建议循环数组
    • 循环声明的变量,就是每一项的下标
    var arr=[1,2,4,5,6,7,'a'];
    for(var a in arr){//并不推荐循环数组,如果添加一个属性,会遍历数组的属性  a是下标 
        //循环对象a是键名 arr[a]是键值
    
  2. for of

    • 可以循环数组,不会遍历到数组属性
    • 循环声明的变量,是数组的每一项
    var arr=[1,2,4,5,6,7,'a'];
    for(let a of arr){//它可以循环数组 不会遍历数组的属性 a直接就是数组的每一项
    
  3. forEach

    var s=new Set([1,2,3,4,'a']);
    s.forEach((value,key)=>{
           console.log(value,key);
         }) key与value相同
    

DOM

DOM是 Document Object Model 叫文档对象模型,所有以document开头的都是DOM操作;

  1. 所有的元素获取方式都属于dom操作:
    • document.getElementById()通过id获取
    • document.getElementsByTagName('')通过标签名获取到一组元素;
    • document.querySelector()通过选择器获取到一个元素;
    • document.querySelectorAll()通过选择器获取到一组元素。
    • document.documentElement专门用来获取html标签的
    • document.body 专门获取body标签
  2. 节点
    • 所有的html属性也是节点,注释/换行也是节点,插入的文本内容。
    • 节点和元素的区别:节点包含了以上内容,而元素只包含标签。
    • 节点包含所有元素,但是元素不包含所有节点。
  3. 获取某个元素下所有子节点的方法
    • 元素.childNodes:会获取到一组元素。

    • nodeValue 节点值 所有节点都是空的,文本节点除外,文本节点的值会是文本内容的字符串格式。

    • nodeType 节点类型 一共十二个,常用的:元素 1 属性2 文本3 注释8 文档9;

    • nodeName 节点名称 元素节点会返回这个元素的大写状态。

  4. 获取父节点: parentNode
  5. 获取第一个子节点:firstChild
  6. 获取第一个子元素:firstElementChild
  7. 获取最后一个子节点:lastChild
  8. 获取最后一个子元素:lastElementChild
  9. 获取和它同级的下一个节点:nextSibling、
  10. 获取和它同级的下一个元素:nextElementSibling
  11. 获取到和它同级的上一个节点:previousSibling、
  12. 获取到和它同级的上一个节点:previousElementSibling
  13. 所有的子元素(子集) -------(是一个集合,可以使用下标获取指定的子集):children
  14. 创建元素节点:document.createElement(元素标签)
  15. 创建属性节点:docment.createAttribute(元素属性)
  16. 创建文本节点:document.createTextNode(文本内容)
  17. 追加:appendChild(所要添加的新节点)
  18. 插入:insertBefore(新节点,已知节点-旧的)
  19. 替换:replaceChild(新节点,要被替换的节点)
  20. 删除:removeChild(要删除的节点)
  21. 复制节点:cloneNode(true----复制当前及其所有节点/false----复制当前节点)
  22. 获取属性:getAttribute(属性名)
  23. 设置属性:setAttribute(属性名,属性值)
  24. 删除属性:removeAttribute(属性名)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容