zoukankan      html  css  js  c++  java
  • DOM基础

    DOM是采用树形结构表示页面的每一个元素,操作元素时,可以把这个元素看成一个对象,然后用这个对象的属性和方法进行相关操作。

    常见的DOM结点有3种,元素节点、属性节点、文本节点。用noteType判断一个节点的类型三个节点分别对应1、2、3

    在CSS里,通过选择器来操作。但是在JS里,有另外一套方式,可以通过以下6种方法来获取指定元素。

    动态DOM就是JS创建的元素一开始在HTML里不存在

        var el = document.createElement("元素名"); //创建元素节点

        var txt = document.createTextNode("文本内容"); //创建文本节点

        e1.appendChild(txt);  //把文本节点插入元素节点中

        e2.appendChild(e1);   //把组装好的元素插入已经存在的元素中

    1、插入元素

        A.appendChild(B);  //把新元素插入到父元素的内部子元素的末尾,A表示父元素,B表示动态创建好的新元素

        A.insertBefore(B,ref);  //新元素插入到父元素的某一个子元素之前 A是父元素,B是新子元素,ref表示指定子元素。

    2、删除元素

        A.removeChild(B);   //A表示父元素,B表示父元素内部的某个子元素

    3、复制元素

        obj.cloneNode(bool)

        //obj表示被复制的元素,元素bool是一个布尔值 取1或者true时,表示复制元素本身及其子元素。取0或者false时,仅仅复制元素本身,而不复制其子元素。

    4、替换元素

        A.replaceChild(new,old);  //A是父元素,new表示新子元素,old表示旧子元素

        操作HTML属性有两种操作,一种是通过对象属性一种是通过对象方法。这两种操作都涉及两种操作:

    5、获取HTML属性:

        obj.attr  //obj是元素名,是一个DOM对象。attr是属性名,通过 . 来获取属性值,获取一个元素              

             的class值,要通过oBtn.className 。一般文本框、单选按钮、复选框、下拉列表的值都是通过value属性获取的。

    6、设置HTML属性值:  obj.attr="值";

    7、HTML属性操作(对象方法):

        getAttribute()   //obj.getAttribute("attr")等价于 obj.attr 都可以获取静态HTML值以及动态DOM属性值

        setAttribute()   //obj.setAttribute("attr","值") 设置某个元素某个属性的值,等价于obj.attr="值";

        removeAttribute()  //obj.removeAttribute("attr")  删除某个元素的属性

        hasAttribute()  //obj.hasAttribute("attr")判断元素是否含有某个属性,如果有这个属性返回true否则返回false

    8、CSS属性操作:在JS中CSS属性操作有两种,获取CSS属性值和设置CSS属性值

        获取CSS属性值: getComputedStyle(obj).attr   //这个方法不支持早期的IE浏览器,

        设置CSS属性值:有两种方法

          a、Style对象:obj.style.attr="值"; //等价于obj.style["attr"],只能获取元素style属性中设置的CSS属性,没办法获取内部样式或者外部样式。

          b、cssText属性:obj.style.cssText="值"; //cssText的值是一个字符串,字符串中的属性名不要用驼峰命名法。

    9、DOM遍历

         查找父元素:obj.parentNode

         查找子元素:

            childNodes、firstChild、lastChild   //childNodes获取的所有子节点

            children、firstElementChild、lastElementChild   //children获取的是所有元素结点,不包括文本节点。

         查找兄弟元素:

            previousSibling、nextSibling  //分别是查找前一个兄弟节点和查找后一个兄弟节点

            previousElementSibling、nextElementSibling  //查找前一个兄弟元素节点和查找后一个兄弟元素节点

    10、innerHTML和innerText

        innerHTML可以很方便的获取和设置一个元素的内部元素,innerText可以获取和设置一个元素的内部文本。

  • 相关阅读:
    SQL(二)语法
    SQL(一)简介
    linux学习(六)文件基本属性
    Linux学习(五)远程登录
    Linux学习(四) 忘记密码解决方法
    怎样理解阻塞非阻塞与同步异步的区别?
    Python的lambda匿名函数
    Twisted源码分析系列01-reactor
    Python装饰器学习(九步入门)
    Python关键字yield的解释
  • 原文地址:https://www.cnblogs.com/oaoa/p/14292062.html
Copyright © 2011-2022 走看看