博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端开发知识点之javascript
阅读量:6280 次
发布时间:2019-06-22

本文共 1487 字,大约阅读时间需要 4 分钟。

DOM manipulation

DOM节点(Node)通常对应于一个标签,一个文本,或者一个HTML属性。DOM节点有一个nodeType属性用来表示当前元素的类型,它是一个整数:

  • Element,元素
  • Attribute,属性
  • Text,文本

图片描述

  1. DOM结构 —— 两个节点之间可能存在哪些关系以及如何在节点之间任意移动。

    • 当前对象为node
    • 返回父节点:node.parentNode, node.parendElement,
    • 返回所有子节点:node.childNodes(包含文本节点及标签节点),node.children
    • 返回第一个子节点:node.firstChild
    • 返回最后一个子节点: node.lastChild
    • 返回同属上一个子节点:node.nextSibling
    • 返回同属下一个子节点:node.previousSibling
    • parentNode和parentElement功能一样,childNodes和children功能一样。但是parentNode和childNodes是符合W3C标准的,可以说比较通用。而另外两个只是IE支持,不是标准,Firefox就不支持 ,所以大家只要记得有parentElement和children就行了
      移位 ->
  2. DOM操作 ——如何添加、移除、移动、复制、创建和查找节点等。

    • // 添加、删除子元素
    • ele.appendChild(el);
    • ele.removeChild(el);
    • // 替换子元素
    • ele.replaceChild(el1, el2);
    • // 插入子元素
    • parentElement.insertBefore(newElement, referenceElement);
    • //克隆元素
    • ele.cloneNode(true) //该参数指示被复制的节点是否包括原节点的所有属性和子节点
  3. childNodes vs children 返回所有子节点:

    • node.childNodes(包含文本节点及标签节点),
    • node.children
    • Element.children returns only element children(元素节点), while Node.childNodes returns all node children. Note that elements are nodes, so both are available on elements.(node节点包括element 节点
  4. getElementsByClassName(H5) compatible version

    function getElementsByClassName(node, classname) {  if (node.getElementsByClassName) {    return node.getElementsByClassName(classname);  } else {    var results = new Array();    var elems = node.getElementsByTagName('*');    for (var i = 0; i < elems.length; i++) {      if (elems[i].className.indexOf(classname) != -1) {        result.push(elems[i]);      }    }    return results;  }}

转载地址:http://eviva.baihongyu.com/

你可能感兴趣的文章
轻松学PHP
查看>>
Linux中的网络监控命令
查看>>
this的用法
查看>>
windows下安装redis
查看>>
CentOS7 yum 安装git
查看>>
启动日志中频繁出现以下信息
查看>>
httpd – 对Apache的DFOREGROUND感到困惑
查看>>
分布式锁的一点理解
查看>>
idea的maven项目,install下载重复下载本地库中已有的jar包,而且下载后jar包都是lastupdated问题...
查看>>
2019测试指南-web应用程序安全测试(二)指纹Web服务器
查看>>
树莓派3链接wifi
查看>>
js面向对象编程
查看>>
Ruby中类 模块 单例方法 总结
查看>>
jQuery的validate插件
查看>>
5-4 8 管道符 作业控制 shell变量 环境变量配置
查看>>
Enumberable
查看>>
开发者论坛一周精粹(第五十四期) 求购备案服务号1枚!
查看>>
validate表单验证及自定义方法
查看>>
javascript 中出现missing ) after argument list的错误
查看>>
使用Swagger2构建强大的RESTful API文档(2)(二十三)
查看>>