JavaScript文档对象模型DOM

节点关系属性:(带element的属性ie低版本不支持)

  • childNodes—所有子节点(元素,注释,文本);
  • nodeType——属性代表节点类型;
  • children——获取元素子节点
  • firstChild——第一个子节点(元素,注释,文本)
  • *firstElementChild ——第一个元素子节点
  • lastChild ——最后一个子节点 (元素,注释,文本)
  • *lastElementChild ——最后一个元素子节点
  • parentNode——父元素
  • offsetParent ——定位父级
  • previousSibling ——上一个兄弟节点
  • *previousElementSibling ——上一个元素兄弟节点
  • nextSibling ——下一个兄弟节点
  • *nextElementSibling ——下一个元素兄弟节点

节点操作(增删改):

  • 创建节点——document.createElement(‘div‘)

            > document.createElement(‘div‘) 创建元素节点
    
            > document.createTextNode(‘文本‘) 创建文本节点
    
            ```
                var newLi = document.createElement(‘li‘);
                newLi.innerHTML = ‘444‘;
            ```
  • 在元素的末尾添加项——parent.appendChild(child)

            ```
                var ul = document.getElementsByTagName(‘ul‘)[0];
                ul.appendChild(newLi);
            ```
  • 在指定元素之前插入节点——oldNode.parentNode.insertBefore(newNode,oldNode);

            ```
                var li2 = document.getElementById(‘li2‘);
                var newLi1 = document.createElement(‘li‘);
                newLi1.innerHTML = ‘1-21-2‘;
                li2.parentNode.insertBefore(newLi1,li2);
    
            ```
  • 替换元素——replaceChild(newNode,oldNode)

            * 如果newNode是已经存在的标签,就是改变标签的物理位置
            ```
                var newLi2 = document.createElement(‘li‘);
                newLi2.innerHTML = ‘三三三‘;
                var li3 = document.getElementById(‘li3‘);
    
                //ul.replaceChild(newLi2,li3);
                li3.parentNode.replaceChild(newLi2,li3);
            ```
  • 删除节点——removeChild(delNode)

            ```
                var li5 = document.getElementById(‘li5‘);
                //ul.removeChild(li5);
                li5.parentNode.removeChild(li5);
                // li5.remove(); ie不支持
            ```
  • 复制节点——cloneNode()

            > cloneNode()  克隆节点,不传参,只复制标签本身,不包括内容
    
            > cloneNode(true)  深度克隆,复制标签及标签里面的所有内容

获取元素的方法:

- document.getElementById()

- document.getElementsByTagName()  //[]

- document.getElementsByClassName() //[] ie低版本不支持

        ```
        //封装兼容所有浏览器的通过类名获取元素的方法
            function getByClass(ele,cls){
                //先获取ele中所有标签(不区分标签名)
                var elements = ele.getElementsByTagName(‘*‘);
                var ary = [];
                //遍历elements
                for(var i = 0; i < elements.length; i++){
                    //  eles[i].className   ‘red aa ccc‘
                    //先把类名词列表分割成数组
                    var clsAry = elements[i].className.split(‘ ‘);  //[‘red‘,‘aa‘,‘ccc‘]
                        //遍历类名数组,如果存在cls相同的类名,就把这个元素放进ary
                        for(var j = 0; j < clsAry.length ; j++){
                            if(cls == clsAry[j]){
                                ary.push(elements[i]);
                                break;
                            }
                        }
                }
                return ary;
            }
        ```

- document.querySelector(‘#box .red‘); //获取一个元素 不兼容ie低版本

- document.querySelectorAll(‘#box .red‘);//获取一组元素  不兼容ie低版本

原文地址:https://www.cnblogs.com/musong-out/p/11427284.html

时间: 2024-07-29 08:58:19

JavaScript文档对象模型DOM的相关文章

005_01文档对象模型DOM

DOM:document object model  文档对象模型.是W3C织制订的一套用于访问XML和HTML文档的标准.允许脚本动态地访问和更新文档的内容.结构和样式. W3C DOM 标准被分为 3 个不同的部分: 核心 DOM - 针对任何结构化文档的标准模型 XML DOM - 针对 XML 文档的标准模型 HTML DOM - 针对 HTML 文档的标准模型 左边为HTML文档树,右边为结构树示意图 XML DOM 定义了访问和处理 XML 文档的标准方法. HTML文档格式 符合X

javaScript文档对象模型

DOM :Document Object Model ---文档对象模型 DOM属于BOM的一种,当网页被加载时,浏览器会创建页面的文档对象模型 通过可编译的对象模型,JS获得了足够的能力创建动态的HTML. -JS 能够改变页面中的所有HTML元素.HTML属性.CSS样式.对页面中所有事件做出反应. DOM的操作有: -查找节点.读取节点信息.修改节点信息.创建新的节点.删除节点 读取和修改节点: nodeName:节点的名称 -文本节点:永远是 #text -文档节点:永远是#docume

Document类型[第10章-文档对象模型DOM 笔记2]

Document 类型 JavaScript 通过 Document 类型表示文档.在浏览器中, document 对象是 HTMLDocument (继承自 Document 类型)的一个实例,表示整个 HTML 页面.而且, document 对象是 window 对象的一个属性,因此可以将其作为全局对象来访问. Document 类型可以表示 HTML 页面或者其他基于 XML 的文档.不过,最常见的应用还是作为HTMLDocument 实例的 document 对象.通过这个文档对象,不

Node节点类型[第10章-文档对象模型DOM 笔记1]

DOM是针对 HTML 和 XML 文档的一个 API(应用程序编程接口) .DOM描绘了一个层次化的节点树,允许开发人员添加.移除和修改页面的某一部分.DOM 脱胎于Netscape 及微软公司创始的 DHTML (动态 HTML) , 但现在它已经成为表现和操作页面标记的真正的跨平台.语言中立的方式. 节点 DOM 可以将任何 HTML 或 XML 文档描绘成一个由多层节点构成的结构. 每个节点都拥有各自的特点.数据和方法,另外也与其他节点存在某种关系.节点之间的关系构成了层次,而所有页面标

第10章 文档对象模型DOM 10.3 Element类型

Element 类型用于表现 XML或 HTML元素,提供了对元素标签名.子节点及特性的访问. 要访问元素的标签名,可以使用 nodeName 属性,也可以使用 tagName 属性:这两个属性会返回相同的值.如下所示: <div id="myDiv"></div> var div = document.getElementById("myDiv"); alert(div.tagName); //"DIV" alert(d

第10章 文档对象模型DOM 10.2 Document类型

Document 类型 JavaScript 通过 Document 类型表示文档.在浏览器中, document 对象是 HTMLDocument (继承自 Document 类型)的一个实例,表示整个 HTML 页面.而且, document 对象是 window 对象的一个属性,因此可以将其作为全局对象来访问. Document 类型可以表示 HTML 页面或者其他基于 XML 的文档.不过,最常见的应用还是作为HTMLDocument 实例的 document 对象.通过这个文档对象,不

第10章 文档对象模型DOM 10.1 Node节点类型

DOM是针对 HTML 和 XML 文档的一个 API(应用程序编程接口) .DOM描绘了一个层次化的节点树,允许开发人员添加.移除和修改页面的某一部分.DOM 脱胎于Netscape 及微软公司创始的 DHTML (动态 HTML) , 但现在它已经成为表现和操作页面标记的真正的跨平台.语言中立的方式. 节点 DOM 可以将任何 HTML 或 XML 文档描绘成一个由多层节点构成的结构. 每个节点都拥有各自的特点.数据和方法,另外也与其他节点存在某种关系.节点之间的关系构成了层次,而所有页面标

文档对象模型DOM

1.节点:      文档节点Document      元素节点Element      文本节点Text      属性节点Attr      注释节点Comment        2.节点的属性和方法:      nodeType:判断节点类型      ownerDocument:指向这个节点所属的文档      firstChild:指向在childNodes列表中的第一个节点      lastChild:指向在childNodes列表中的最后一个节点      childNodes

文档对象模型DOM(二)

练习: 要求:界面上有个登录按钮,点击登录的时候,界面中弹出一个登录的方框,点击登录方框中的×的,登录方框消失. 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title></title> 6 <!--<link href="../css/lianxi1.css"