首页 > 其他 > 详细

DOM

时间:2020-05-11 21:19:19      阅读:42      评论:0      收藏:0      [点我收藏+]
1. DOM文档对象模型,对象:document
    - DOM(W3C机构)不属于BOM(浏览器厂商)
    - window对象身上有提供document对象
    - DOM,主要控制页面(html文件),所有的页面操作都需要通过DOM
    - DOM的结构:html的结构:树形结构,包含结构,家族结构(父子级,兄弟级)
    - html根元素:head,body
    - DOM树形结构,的每个组成部分,都叫节点(元素,属性,注释,文本)
        - 所有节点,都是对象
2. 选择器
2.1元素节点选择器(只有元素节点)
2.1.1直接选择器
  ①d选择器:document.getElementById("id名")(返回单个元素)
  ②class选择器:document.getElementsByClassName("class名")
  ③tag选择器:document.getElementsByTagName("tag名")
  ④name选择器:document.getElementsByName("name名")
  ⑤ES5新增选择器:
                querySelector选择器:document.querySelector("css选择器")(单个元素)
                querySelectorAll选择器:document.querySelectorAll("css选择器")
2.1.2关系选择器:先有基准元素
2.1.2.1父子关系:
  ①父选子:先拿到父
            步骤1:父选子:先拿到父
                    var olist = document.querySelector(".list");
            步骤2:第一个子:olist.firstElementChild
         最后一个子:olist.lastElementChild
         所有子:olist.children;
            其他的子:olist.children[索引];
  ② 子选父:先拿到子
             步骤1:子选父:先拿到:子
      var oEm = document.getElementsByTagName("em")[0];
             步骤2:直接拿到所属子集的唯一父集:oEm.parentNode;
2.1.2.2兄弟关系:
  步骤1: 先选择当前
                var olist = document.querySelector(".list");
  步骤2: 上一个:olist.previousElementSibling;
        下一个:olist.nextElementSibling;
2.2节点选择器:
2.2.1元素,注释,文本,参与了父子或兄弟关系(利用关系选择):
            ①父元素节点.childNodes(父子)
            ②当前元素.previousSibling(兄弟)
            ③当前元素.nextSibling(兄弟)
2.2.2属性,没有参与这种家族关系(单独选择器):
            ①当前元素.attributes
3.节点的过滤属性
  nodeType nodeName nodeValue
元素 1 大写标签名 null
文本 3 #text 文本内容
注释 8 #comment 注释内容
属性 2 属性名 属性值
根元素 9 document null
 
 
 
 
 
 
 
 
 
 
 
补:节点选择器和节点的过滤属性,一般只用来做选择或过滤,不用来做修改等操作,有单独的操作方法
4. 操作:增删改查
4.1属性操作
4.1.1可见属性:
            内置:只要是系统提供的,在标签身上直接写的,还具有功能,就是内置的可见属性
                - 对象操作:1点语法;2中括号语法
                - 也可以使用:getAttribute、setAttribute、removeAttribute
                - 特殊的属性:
                    - class:要使用className操作
                    - style:样式,值是个对象
            非内置:在标签身上直接写的,但是不具有默认功能,就是自定义的可见属性
                - 元素.getAttribute("要获取的属性名")
                - 元素.setAttribute("要设置的属性名","属性值")
                - 元素.removeAttribute("要删除的属性名")
4.1.2不可见属性
            内置:不用写在标签身上,系统提供,具有功能   
       方法:innerHTML(获取标签内容、可以解析标签)、firstElementChild(获取第一个子元素节点)、lastElementChild(获取最后一个子元素节点)children(获取子元素节点)、firstChild(获取第一个子节点)、lastChild(获取最后一个子节点)childNodes(获取子节点)、innerText(获取标签中文本内容、不可以解析标签)、tagName(获取大写标签名称、只能获取,不能修改)
            对象操作:1点语法;2中括号语法
            非内置:放飞自我,看不见的自定义属性,其实就是将元素,作为一个对象数据,进行操作
                - 元素是个对象,对象可以用来存储数据,多存储一些
                - 对象操作

    - 样式操作

    - 元素操作

DOM

原文:https://www.cnblogs.com/yh-3175339026/p/12871283.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!