学习后的总结:

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 ) 往某个子节点之前添加一个兄弟
  1. 第一个参数:要添加的节点
  2. 第二个参数:添加在谁之前

小案例:创建元素节点

<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)
  1. 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的更多相关文章

  1. 第一百一十六节,JavaScript,DOM操作样式

    JavaScript,DOM操作样式 一.操作样式 CSS作为(X)HTML的辅助,可以增强页面的显示效果.但不是每个浏览器都能支持最新的CSS能力.CSS的能力和DOM级别密切相关,所以我们有必要检 ...

  2. 使用原生 JavaScript 操作 DOM

    原文:https://www.sitepoint.com/dom-manipulation-vanilla-javascript-no-jquery/ 微软官方放弃了 IE10-,所以现在可以放心使用 ...

  3. 第十五章:Python の Web开发基础 (二) JavaScript与DOM

    本課主題 JavaScript 介绍 DOM 介绍 JavaScript 介绍 JavaScript 是一门编程语言,它可以让网页动起来的,JavaScript 的变量有两种,一个是局部变量:一个是全 ...

  4. 小白科普之JavaScript的DOM模型

    微信公众号“前端大全”推送了一篇名为“通俗易懂的来讲讲DOM”的文章,把javascript原生DOM相关内容讲解的很详细.仔细读了一遍,觉得整理总结的不错,对自己也很使用,所以把内容整理过来,并根据 ...

  5. JavaScript基础 -- DOM

    一.DOM全称 文档对象模型(Document Object Model) 二.DOM是什么 DOM可以说是制作动态页面的强有力工具.DOM不是JavaScript语言的一部分,而是内置在浏览器中的一 ...

  6. 网站开发综合技术 三 JavaScript的DOM操作

    第3部分 JavaScript的DOM操作 1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Windows对象操作 ...

  7. HTML、css、javascript、DOM编程

    HTML.css.javascript.DOM编程 一.Html 1.1html概述 Html就是超文本标记语言的简写,是最基础的网页语言,其代码都是由标签所组成,是通过标签来定义的语言,代码不需要区 ...

  8. 使用jQuery快速高效制作网页交互特效-----JavaScript操作DOM对象

    一.DOM操作分类 使用JavaScript操作DOM时通常分为三类:DOM    Core.HTMl--DOM和CSS-DOM 二.访问节点 节点属性 三.节点信息 四.操作节点的属性 语法: ge ...

  9. javascript --- javascript与DOM

    javascript与DOM: 我们来个例子,一个HTML里包含一段文本和一个无序的列表. <p id="intro">My first paragraph...< ...

  10. JavaScript与DOM

    文档对象模型Document Object Model DOM(Document Object Model,文档对象模型)是一个通过和JavaScript进行内容交互的API.Javascript和D ...

随机推荐

  1. [Xcode 实际操作]六、媒体与动画-(7)遍历系统提供的所有滤镜

    目录:[Swift]Xcode实际操作 本文将演示系统到底提供了多少滤镜供开发者使用,并了解每个滤镜都有哪些参数需要配置. 在项目导航区,打开视图控制器的代码文件[ViewController.swi ...

  2. IOS UILabel的一些使用小技巧

    1. 你在iOS6的需要NSLineBreakByWordWrapping 为了您的代码试试这个: NSString *string = @"bla"; CGSize s = [s ...

  3. 定位之float 同一父元素的float相互影响,float是margin盒子在父元素的padding盒子内

  4. bzoj1095: [ZJOI2007]Hide 捉迷藏 动态点分治学习

    好迷啊...感觉动态点分治就是个玄学,蜜汁把树的深度缩到logn (静态)点分治大概是递归的时候分类讨论: 1.答案经过当前点,暴力(雾)算 2.答案不经过当前点,继续递归 由于原树可以长的奇形怪状( ...

  5. Restful 1 -- REST、DRF(View源码解读、APIView源码解读)及框架实现

    一.REST 1.什么是编程? 数据结构和算法的结合 2.什么是REST? - url用来唯一定位资源,http请求方式来区分用户行为 首先回顾我们曾经做过的图书管理系统,我们是这样设计url的,如下 ...

  6. Python 工具包 werkzeug 初探

    首先,先向大家介绍一下什么是 werkzeug,Werkzeug是一个WSGI工具包,他可以作为一个Web框架的底层库.这里稍微说一下, werkzeug 不是一个web服务器,也不是一个web框架, ...

  7. GUI的最终选择 Tkinter(六):Canvas组件

    Canvas组件,是一个可以让你任性的组件,一个可以让你随心所欲地绘制界面的组件.Canvas是一个通用的组件,它通常用于显示和编辑图形,可以用它来绘制直线,圆形,多边形,甚至是绘制其他组件. 在Ca ...

  8. 什么是.NET for Apache Spark?

    什么是.NET for Apache Spark? 分享一个.NET平台开源免费跨平台的大数据分析框架.NET for Apache Spark for Apache Spark   今天早上六点半左 ...

  9. 微服务的.NET Core示例框架

    eShopOnContainers 是一个基于微服务的.NET Core示例框架 https://www.cnblogs.com/fengqingyangNo1/p/9438428.html 找到一个 ...

  10. 跟老男孩学Linx运维---web集群实战笔记

    2018/01/05 2018/01/04 安装:PHP扩展插件PDO_MYSQL-1.0.2报错 In file included from /home/wasadmin/PDO_MYSQL-1.0 ...