DOM系统学习-基础

DOM介绍

 DOM介绍:

D 网页文档

O 对象,可以调用属性和方法

M 网页文档的树型结构

 节点:

DOM将树型结构理解为由节点组成。

    节点种类:

元素节点、文本节点、属性节点等

查找元素

 获取元素:

getElementById()

getElementsByTagName()

querySeletor()

 元素节点属性:

tagName

innerHTML

    HTML属性的属性:

id

title

style

className

    属性操作:

getAttribute()

setAttribute()

removeAtrribute()

PS:style和onclick有兼容问题,现在都支持自定义属性

DOM节点

node节点属性:

nodeName 节点名称

nodeType 节点类型

nodeValue 节点值,不解析html

 层次节点属性:

子节点

childNodes 获取某所有子节点,包括元素节点和文本节点

firstChild 获取第一个节点

lastChild 获取最后一个节点

父兄节点

parentNode 获取父节点

previousSibling 获取上一个同级节点

nextSibling 获取下一个同级节点

ownerDocument 根节点 ele.ownerDocument === document

attributes 属性节点的数组集合

    忽略空白节点的方法:

忽略:


1

2

3

4

5

6

7

8

9

10

11

12

function filterSpaceNode(nodes) {

    var ret = []; //新数组   

    for (var i = 0; i < nodes.length; i++) {

        //如果识别到空白文本节点,就不添加数组   

        if (nodes[i].nodeType == 3 && /^\s+$/.test(nodes[i].nodeValue)) {

            continue;

        }

        //把每次的元素节点,添加到数组里   

        ret.push(nodes[i]);

    }

    return ret;

}

移除:


1

2

3

4

5

6

7

8

9

function removeWhiteNode(element) {   

      var nodes = element.childNodes;   

      for (var i = 0; i < nodes.length; i++) {   

          if (nodes[i].nodeType === 3 && /^\s+$/.test(nodes[i].nodeValue)) {   

              nodes[i].parentNode.removeChild(nodes[i]);   

          }   

      }   

      return element;   

  }

节点操作

 创建节点:

document.createElement() 创建一个元素节点

document.createTextNode(txt) 创建文本节点

 插入节点:

ele.appendChild(newChild) 将新节点添加到某个节点的子节点末尾

insertBefore(newChild,refChild) 指点节点前面插入新节点

insertAfter() 需要自定义


1

2

3

4

5

6

7

8

9

10

11

function insertAfter(newElement, targetElement) {

    //得到父节点         

    var parent = targetElement.parentNode;

    //如果最后一个子节点是当前元素,那么直接添加即可         

    if (parent.lastChild === targetElement) {

        parent.appendChild(newElement);

    else {

        //否则,在当前节点的下一个节点之前添加         

        parent.insertBefore(newElement, targetElement.nextSibling);

    }

}

 替换复制移除:

replaceChild(newChild,refChild) 替换节点,必须是某元素的子节点

cloneChild(deep) 克隆节点

removeChild(oldChild) 移除节点

时间: 2024-10-27 02:01:52

DOM系统学习-基础的相关文章

关于dom系统学习的基础收录

https://www.sogou.com/link?url=DSOYnZeCC_rR_TP93bdO6A_cUO9C0ZS-5sI-Rgxw98d5UVDCzzIYwbbAp6VRqT6Q https://www.sogou.com/link?url=hedJjaC291P3yGwc7N55kLSc2ls_Ks2xRtmWaBcjt6PvpaTF7f6PT958rDnk-4A0IU0UgoslOxXHqbuwkRLHj63mlRzfPLR2 https://www.sogou.com/link

DOM系统学习-进阶

DOM类型  Node类型: 常用类型: ​    ​    ​元素节点 ELEMENT_NODE ​    ​    ​属性节点 ATTRIBUTE_NODE ​    ​    ​文本节点 TEXT_NODE IE不支持节点类型常量名.兼容方案: 1 2 3 4 5 6 if (typeof Node == 'undefined') { //IE 返回     window.Node = {         ELEMENT_NODE : 1,         TEXT_NODE : 3   

零基础如何系统学习Java Web

零基础如何系统学习Java Web? 我来给你说一说 你要下决心,我要转行做开发,这样你才能学成. 你要会打字,我公司原来有一个程序员,打字都是两个手一指禅,身为程序员你一指禅怎么写出的代码,半个月后被辞退了,当然我们还是朋友. 前两个条件都符合了你就可以学了,首先要了解web是什么,一般呢,java web开发无外乎就这么两大类,第一,互联网公司,第二,软件公司.对于互联网公司和软件公司还有一些差别,互联公司是面向广大网民的,会有专门的ui设计,前台开发,后台代码开发,ios开发,androi

linux系统构建基础学习笔记——操作

linux系统构建 ********************************************************                  ---交叉编译环境构建--- 安装arm-linux-gcc-4.3.2 (交叉编译器) tar xzvf arm-linux-gcc-4.3.2.tgz -C /cd /usr/local/arm/4.3.2/bin./arm-linux-gcc -v在/etc/bashrc文件的最后添加如下一行:   export PATH=

linux系统驱动基础学习笔记

Linux驱动: 角色:应用程序 API      操作系统      驱动       实际硬件 功能:1.对设备进行初始化和释放2.把数据从内核传送到硬件和从硬件读取数据3.检测和处理设备出现的错误 Linux驱动程序类型:字符设备:由文件系统管理    (通过设备文件访问)块设备:由文件系统管理网络设备:由协议栈管理      (通过socket访问) 查看系统设备文件ls -l /devcat /proc/devicescat /sys/power/state 属性:文件类型   主设备

系统学习redis之一——基础概念

前言: redis集群搭建过很多次,也用过一些基础的命令,能解决一些常规的异常.但是因为平时对数据这块用得不多,一直没有很系统的学习过redis.这次将redis的知识好好学习了一下,记录为学习笔记<系统学习redis>系列. NoSQL介绍 非关系型数据库:NoSQL关系型数据库:MySQL.SQLserver.Oracle 关系型数据库在web2.0上对高并发,暴露出了一些性能问题 NoSQL 是以key-value形式存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求,

最新2019学习路线,零基础怎么系统学习大数据?

大数据技术是指从各种各样类型的巨量数据中,快速获得有价值信息的技术.解决大数据问题的核心是大数据技术.零基础怎么系统学习大数据?首先我们先了解一下什么是大数据. 最新2019学习路线,零基础怎么系统学习大数据?"大数据"是一个体量特别大,数据类别特别大的数据集,并且这样的数据集无法用传统数据库工具对其内容进行抓取.管理和处理.大数据工程师需要学习哪些知识?创一个小群,供大家学习交流聊天如果有对学大数据方面有什么疑惑问题的,或者有什么想说的想聊的大家可以一起交流学习一起进步呀.也希望大家

Linux学习之六-Linux系统的基础优化

Linux系统的基础优化 何谓'优化'.顾名思义,优化就是采取某些措施使某个东西或者某事物变得更加优异,出色.对于Linux而言,在初期安装好系统之后,也需要对其进行一定的基础优化,可分为安全上的优化,性能上的优化,安装常用软件包等. 1.selinux的优化 查看selinux状态getenforce 临时关闭setenforce 0 永久关闭selinux 需修改相应配置文件vi /etc/selinux/config 或者利用Linux命令中的sed替换 sed -i 's#SELINUX

php学习基础-文件系统(一) 文件处理,文件权限

一.PHP系统文件处理 /* PHP文件系统处理 * 所有文件处理都是使用系统函数完成的. * 是基于Linux/Unix系统为模型 * * 文件系统处理的作用: * 1. 所有的项目离不开文件处理 * 2. 可以用文件长时间保存数据 * 3. 建立缓存, 服务器中文件操作 * * 文件处理 * 1. 文件类型 * 以Linux为模型的, 在Windows只能获取file, dir或unknow 三种类型 * 在Linux/Unix下, block, char, dir, fifo, file,