javascript (六)DOM
学习后的总结:
DOM:document object model
关于DOM的简介:http://www.w3school.com.cn/htmldom/dom_intro.asp
本文说的是HTML DOM 的一些操作:
DOM树:DOM树将HTML文档体现为树状,DOM树中有很多节点;
DOM通过对节点的操作来操作文档,DOM节点分为12种类型:https://blog.csdn.net/zhuwq585/article/details/52955890
常用的三种类型:元素节点,属性节点,文本节点;
- 节点通用属性:nodeName -> 节点的名字 、 nodeType -> 节点的类型 、 nodeValue -> 节点的值
通用属性在不同节点的情况:https://blog.csdn.net/qingqingzijinxin/article/details/52244700
获取节点操作:
- childNodes :获取某个节点的所有子节点
- children : 获取某个节点的所有元素子节点
它们的区别:https://blog.csdn.net/u013063153/article/details/52755991
- nextSibling 获取下一个节点。
存在差异性:主流浏览器:获取下一个节点(可能是文本节点)IE 6 7 8 :中变成了获取下一个元素节点
- nextElementSibling 存在兼容性:主流浏览器:获取下一个元素节点, IE 6 7 8 :不存在这个属性
根据他们的不同的情况,可以写一个兼容:
<div id="box">
<p>111</p>
<p>222</p>
<p>333</p>
</div>
var oBox = document.getElementById('box');
var oP1 = oBox.children[0];
function nSibling( obj ){
if ( obj.nextElementSibling ) //如果兼容主流浏览器
{
nObj = obj.nextElementSibling;
}else{
nObj = obj.nextSibling;
}; //如果存在div下只有一个元素节点的时候,obj.nextElementSibling 返回undefined,这时候需要判断是否仍有一个元素节点;
return nObj.nodeType!==1?null:nObj;
};
firstChild 第一个子节点
lastChild 最后一个子节点
firstElementChild 第一个元素节点
lastElementChild 最后一个元素节点
parentNode 父节点
offsetParent 定位父节点 :https://www.jb51.net/article/45555.htm ;
上述链接定位父节点分三种情况分析:1子节点父节点都没有定位,2父节点有定位,3父节点的兄弟节点有定位。
创建、插入节点
- createElement( 标签名 ) 创建元素节点
- createTextNode( 字符串 ) 创建文本节点
- appendChild(节点名) 添加子节点
- insertBefore( args1, args2 ) 往某个子节点之前添加一个兄弟
- 第一个参数:要添加的节点
- 第二个参数:添加在谁之前
小案例:创建元素节点
<div id="box">
<p id='goudan'>pppp</p>
</div>
var oBox = document.getElementById('box');
var oA = document.createElement('a');
oA.href = 'http://tanzhouedu.com';
oA.innerHTML = '我是添加的a标签';
oA.className = 'dachui';
oA.id = 'aa';
oBox.appendChild( oA ); //createElement只是创建了个节点,还需要通过appendChild 来加到DOM树上
删除子节点
- removeChild(args)
- args:要删除的节点
<div id="box">
<p id='p1'>苹果</p>
<p id='p2'>香蕉</p>
<p id='p3'>梨子</p>
</div>
var oBox = document.getElementById('box');
var oP2 = document.getElementById('p2');
oBox.removeChild( oP2 );
完毕...
javascript (六)DOM的更多相关文章
- 第一百一十六节,JavaScript,DOM操作样式
JavaScript,DOM操作样式 一.操作样式 CSS作为(X)HTML的辅助,可以增强页面的显示效果.但不是每个浏览器都能支持最新的CSS能力.CSS的能力和DOM级别密切相关,所以我们有必要检 ...
- 使用原生 JavaScript 操作 DOM
原文:https://www.sitepoint.com/dom-manipulation-vanilla-javascript-no-jquery/ 微软官方放弃了 IE10-,所以现在可以放心使用 ...
- 第十五章:Python の Web开发基础 (二) JavaScript与DOM
本課主題 JavaScript 介绍 DOM 介绍 JavaScript 介绍 JavaScript 是一门编程语言,它可以让网页动起来的,JavaScript 的变量有两种,一个是局部变量:一个是全 ...
- 小白科普之JavaScript的DOM模型
微信公众号“前端大全”推送了一篇名为“通俗易懂的来讲讲DOM”的文章,把javascript原生DOM相关内容讲解的很详细.仔细读了一遍,觉得整理总结的不错,对自己也很使用,所以把内容整理过来,并根据 ...
- JavaScript基础 -- DOM
一.DOM全称 文档对象模型(Document Object Model) 二.DOM是什么 DOM可以说是制作动态页面的强有力工具.DOM不是JavaScript语言的一部分,而是内置在浏览器中的一 ...
- 网站开发综合技术 三 JavaScript的DOM操作
第3部分 JavaScript的DOM操作 1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Windows对象操作 ...
- HTML、css、javascript、DOM编程
HTML.css.javascript.DOM编程 一.Html 1.1html概述 Html就是超文本标记语言的简写,是最基础的网页语言,其代码都是由标签所组成,是通过标签来定义的语言,代码不需要区 ...
- 使用jQuery快速高效制作网页交互特效-----JavaScript操作DOM对象
一.DOM操作分类 使用JavaScript操作DOM时通常分为三类:DOM Core.HTMl--DOM和CSS-DOM 二.访问节点 节点属性 三.节点信息 四.操作节点的属性 语法: ge ...
- javascript --- javascript与DOM
javascript与DOM: 我们来个例子,一个HTML里包含一段文本和一个无序的列表. <p id="intro">My first paragraph...< ...
- JavaScript与DOM
文档对象模型Document Object Model DOM(Document Object Model,文档对象模型)是一个通过和JavaScript进行内容交互的API.Javascript和D ...
随机推荐
- [Xcode 实际操作]七、文件与数据-(8 )读取和解析Plist文件(属性列表文件)
目录:[Swift]Xcode实际操作 本文将演示如何读取和解析Plist文件,即属性列表文件. 它是用来存储,串行化后的对象的文件. 在项目名称上点击鼠标右键,弹出右键菜单, 选择[New File ...
- Theme Section
题目链接 #include <cstdio> #include <iostream> #include <cstring> using namespace std; ...
- shell学习(9)- du和df区别及详解
清明小长假来加班,总得干点啥吧,今天就说说du 和df的区别. 1.区别 du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有删除的.他计算 ...
- CC37:穿点最多的直线
题目 在二维平面上,有一些点,请找出经过点数最多的那条线. 给定一个点集vectorp和点集的大小n,没有两个点的横坐标相等的情况,请返回一个vector,代表经过点数最多的那条直线的斜率和截距. 解 ...
- JAVAFX-1 开发应用
为什么用javafx? 写这个专题的目的,其实也是好玩,原来的熟悉的使用swing 来开发java中的gui程序,其实早就知道有javafx 这个东西的,一致没有时间的玩,最近有时间所以学习.这个专题 ...
- Spring中的注入方式 和使用的注解 详解
注解:http://www.cnblogs.com/liangxiaofeng/p/6390868.html 注入方式:http://www.cnblogs.com/java-class/p/4727 ...
- T-SQL查询处理执行顺序(一)
对于T-SQL编程,用得最广泛的,莫过于查询(Querying).要想写出高质量.高性能的查询语句,必须深入地了解逻辑查询处理. 一.逻辑查询处理的各个阶段 (5)SELECT DISTINCT TO ...
- P3818 小A和uim之大逃离 II
题目背景 话说上回……还是参见 https://www.luogu.org/problem/show?pid=1373 吧 小a和uim再次来到雨林中探险.突然一阵南风吹来,一片乌云从南部天边急涌过来 ...
- 求一个极大数的欧拉函数 phi(i)
思路: 因为当n>=1e10的时候,线性筛就不好使啦.所以要用一个公式 φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn) 证明详见:<公式 ...
- go 从表结构生成结构体
package main import ( "fmt" "github.com/gohouse/converter" ) func main() { // 初始 ...