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) 移除节点
DOM系统学习-基础的更多相关文章
- DOM系统学习-进阶
DOM类型 Node类型: 常用类型: 元素节点 ELEMENT_NODE 属性节点 ATTRIBUTE_NODE 文本节点 TEX ...
- DOM系统学习-表格、样式和元素大小
操作表格 属性: caption 标题元素 tHead 表头元素 tFoot 表尾元素 tBodies 主体元素集合,通过下标取 row 行元素集合,通过下标取 方法 ...
- 深入浅出DOM基础——《DOM探索之基础详解篇》学习笔记
来源于:https://github.com/jawil/blog/issues/9 之前通过深入学习DOM的相关知识,看了慕课网DOM探索之基础详解篇这个视频(在最近看第三遍的时候,准备记录一点东西 ...
- 零基础如何系统学习Java Web
零基础如何系统学习Java Web? 我来给你说一说 你要下决心,我要转行做开发,这样你才能学成. 你要会打字,我公司原来有一个程序员,打字都是两个手一指禅,身为程序员你一指禅怎么写出的代码,半个 ...
- Unity3D 装备系统学习Inventory Pro 2.1.2 基础篇
前言 前一篇 Unity3D 装备系统学习Inventory Pro 2.1.2 总结 基本泛泛的对于Inventory Pro 这个插件进行了讲解,主要是想提炼下通用装备系统结构和类体系.前两天又读 ...
- Linux学习之六-Linux系统的基础优化
Linux系统的基础优化 何谓'优化'.顾名思义,优化就是采取某些措施使某个东西或者某事物变得更加优异,出色.对于Linux而言,在初期安装好系统之后,也需要对其进行一定的基础优化,可分为安全上的优化 ...
- 现代3D图形编程学习-基础简介(2) (译)
本书系列 现代3D图形编程学习 基础简介(2) 图形和渲染 接下去的内容对渲染的过程进行粗略介绍.遇到的部分内容不是很明白也没有关系,在接下去的章节中,会被具体阐述. 你在电脑屏幕上看到的任何东西,包 ...
- 001 今天开始系统学习C#
2016-01-16 之前只是大概了解过c#语言,感觉掌握不牢靠.现在开始系统学习C#.现以该博客作为学习笔记,方便后续查看.C# 目标:系统掌握c#知识 时间:30天 范围:C#基础,Winform ...
- JavaScript学习基础部分
JavaScript学习基础 一.简介 1.JavaScript 是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet Explorer. Mozilla.Firefo ...
随机推荐
- android配置开发环境
1.下载Java SE并安装. 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 配置环境变量 我的电脑- ...
- PHP文件信息获取函数
知识点: basename():获取文件名,传入第二个参数则只显示文件名,不显示后缀 dirname():获取文件路径 pathinfo():将文件信息存入一个数组,通过索引basename,dirn ...
- bzoj4772 显而易见的数论
题意:http://www.lydsy.com/JudgeOnline/problem.php?id=4772 sol :这个题卡了我一整天QAQ 出题人简直丧心病狂,卡内存+卡常数QAQ 题意就是, ...
- Windows Server 创建环回网卡
1.以管理员身份运行cmd后,在cmd命令窗口中执行:hdwwiz 启动硬件添加向导. 2.在添加硬件向导中选择手动安装或自动搜索都可以.然后选择网络适配器. 3.选择网络适配器:厂商选择Micros ...
- webpack最佳入门实践系列(3)
6.使用图片 6.1.尝试在css中引入图片 在src目录下新建css文件夹,并且在css文件夹下创建app.css文件,在src目录下新建images文件夹,放入一张图片,在app.css中引入这张 ...
- Winform 模拟Session
背景 在Web中Session的功能很好用,于是想Winform中实现该功能,典型应用场景则是登陆成功后,当一段时间不操作,则该会话过期,提示重新登陆. 资源下载 测试代码 示例说明:登陆进去10s不 ...
- likely,unlikely宏与GCC内建函数__builtin_expect()
在 GCC 手册中对 __builtin_expect() 的描述是这样的: 由于大部分程序员在分支预测方面做得很糟糕,所以 GCC 提供了这个内建函数来帮助程序员处理分支预测,优化程序.其第一个参数 ...
- 条件变量(Condition Variable)详解
条件变量(Condtion Variable)是在多线程程序中用来实现“等待->唤醒”逻辑常用的方法.举个简单的例子,应用程序A中包含两个线程t1和t2.t1需要在bool变量test_cond ...
- 【转载】Photoshop-制作图片圆角2种方法
学习网址:http://www.23ps.com/photoshop/cjjc/300002034.htm 方案一: 使用选区和蒙版相结合,用图章制作圆角选区,删除多余部分 效果: 实现步骤: 一.如 ...
- 解决:laravel出现Please provide a valid cache path.
SVN检出版本库上的项目后,访问首页出现如下提示: Please provide a valid cache path. 解决方法如下: 1.确保storage目录下有如app,framework,v ...