DOM(一)
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!---DOM基础知识-->
<p>DOM1级别 DOM Core DOM HTML </p> <p>DOM2级别 DOM Views DOM Events DOM Style DOM Traversal and DOM Ranges</p> <P>DOM3级别 DOM Load and Save DOM Validation</P>
<div id="divContainer" style=" height: auto; width:600px;">DOM3级别</div>
<div id="divContainer1" style=" height: auto; width:600px;">
<p>Element 1 </P> <p> Attr(属性节点) 2
是包含他的元素节点的一部分,不属于文档树的一部分
</P> <p>Text(文本节点) 3
空格同样属于文本节点
</P> <p>Comment(注释节点) 8 </P> <p>Document(文档节点) 9 </P> <p>DocumentType(文档类型节点) 10 </P> <p>DocumentFragment(文档片段节点) 11 所有节点的根节点 </P>
</div>
<div>
<p>webkit 渲染流程</p>
<p>解析HTML 构建DOM树--->构建渲染树---->布局渲染树--->绘制渲染树<p>
<p style="padding-left: 230px;"> DOM <p>
<p style="padding-left: 230px;"> || <p>
<p > HTML --------->Html Parse--->DOM Tree --->layout <p>
<p style="padding-left: 230px;"> || || <p>
<p style="padding-left: 230px;"> Attachment---->Render Tree----->Painting----->Display<p>
<p style="padding-left: 230px;"> ||
<p> Style Sheet---->Css Parse --->Style Rules<p>
</div>
</body>
<script type="text/javascript">
//IE 7 IE 8不支持Node
var divNode = document.getElementById("divContainer");
if (divNode.nodeType == Node.ELEMENT_NODE) {
console.log("this is a element");
} //IE 兼容
if (divNode.nodeType = 1) {
console.log("this is a element");
} console.log("--attributes nodes--");
var attrNodes = divNode.attributes;
for (var i = 0; i < attrNodes.length; i++) {
var item = attrNodes[i];
console.log(item.nodeName + "----" + item.nodeValue);
}
console.log("--child nodes--");
var childNodes = divNode.childNodes;
for (var i = 0; i < childNodes.length; i++) {
var item = childNodes[i];
console.log(item.nodeName + "----" + item.nodeValue);
} console.log("document.doctype.nodeName: " + document.doctype.nodeName + "----document.doctype.nodeValue: "
+ document.doctype.nodeValue) var comment=document.body.childNodes[1];
console.log(comment.nodeName+"0--0"+comment.nodeValue) var flat=document.createDocumentFragment();
console.log(flat.nodeName+"--"+flat.nodeValue)
</script>
</html>
DOM(一)的更多相关文章
- 关于DOM的操作以及性能优化问题-重绘重排
写在前面: 大家都知道DOM的操作很昂贵. 然后贵在什么地方呢? 一.访问DOM元素 二.修改DOM引起的重绘重排 一.访问DOM 像书上的比喻:把DOM和JavaScript(这里指ECMScri ...
- 读书笔记:JavaScript DOM 编程艺术(第二版)
读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...
- 页面嵌入dom与被嵌入iframe的攻防
1.情景一:自己的页面被引入(嵌入)至别人的页面iframe中 if(window.self != window.top){ //url是自己页面的url window.top.location.hr ...
- 通俗易懂的来讲讲DOM
DOM是所有前端开发每天打交道的东西,但是随着jQuery等库的出现,大大简化了DOM操作,导致大家慢慢的“遗忘”了它的本来面貌.不过,要想深入学习前端知识,对DOM的了解是不可或缺的,所以本文力图系 ...
- HTML DOM 介绍
本篇主要介绍DOM内容.DOM 节点.节点属性以及获取HTML元素的方法. 目录 1. 介绍 DOM:介绍DOM,以及对DOM分类和功能的说明. 2. DOM 节点:介绍DOM节点分类和节点层次. 3 ...
- HTML DOM 对象
本篇主要介绍HTML DOM 对象:Document.Element.Attr.Event等4个对象. 目录 1. Document 对象:表示文档树的根节点,大部分属性和方法都是对元素进行操作. 2 ...
- 重撸js_2_基础dom操作
1.node 方法 返回 含义 nodeName String 获取节点名称 nodeType Number 获取节点类型 nodeValue String 节点的值(注意:文本也是节点) 2.inn ...
- 虚拟dom与diff算法 分析
好文集合: 深入浅出React(四):虚拟DOM Diff算法解析 全面理解虚拟DOM,实现虚拟DOM
- 窥探Vue.js 2.0 - Virtual DOM到底是个什么鬼?
引言 你可能听说在Vue.js 2.0已经发布,并且在其中新添加如了一些新功能.其中一个功能就是"Virtual DOM". Virtual DOM是什么 在之前,React和Em ...
- jQuery学习之路(2)-DOM操作
▓▓▓▓▓▓ 大致介绍 jQuery作为JavaScript库,继承并发扬了JavaScript对DOM对象操作的特性,使开发人员能方便的操作DOM对象. ▓▓▓▓▓▓ jQuery中的DOM操作 看 ...
随机推荐
- obj-c编程04:类的继承
这第4篇内容比較少,主要说的是obj-c中的类的继承,须要说明的是我仅仅是写了继承中最简单的形式,假设所有展开来说,那就多了去了!关键是如今肚子里还没装够墨水,没法展开啊! 以下的代码中,我们写了2个 ...
- 苹果公司的新的编程语言 Swift 高级语言()两--基本数据类型
一 . 常量和变量 Swift语言 对常量和变量的声明进行了明白的区分 Swift语言的常量类型比C 语言的constants类型更加强大,语义更加明白. 常量和变量的差别是常量在设置或初始化后 ...
- Find a way (BFS)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2612 BFS搜索 目标地 并记录下来 之后再判断两段路程之和 代码: #include < ...
- C#如何设置session过期时间
1.操作系统 步骤:开始——〉管理工具——〉Internet信息服务(IIS)管理器——〉网站——〉默认网站——〉 右键“属性”——〉主目录——〉配置——〉选项——〉启用会话状态——〉会话超时(在 ...
- Extjs4.1MVC详细解释
:http://xiebaochun.github.io/ app.js [javascript] view plaincopyprint? Ext.onReady(function(){ Ext.Q ...
- CentOS-6.5-x86_64 最小化安装,已安装包的总数,这些包?
一.我们怎么知道有多少的包被安装? [root@localhost ~]# rpm -qa | wc -l 217 二.怎样得知安装了那些软件包? [root@localhost ~]# rpm -q ...
- dedeCMS中单独调用子栏目模板和子栏目的文章时修改源代码给channel和chanenartllist加上limit
在网站文件中找到include-taglib-chanel.lib.php,和chaneartllist.lib.php 下载用php的IDE打开, chanel.php加入limit属性修改如下 & ...
- 腾讯QQ音乐网页版 音频初始化模块解压混淆js源码
define("js/view/playerBar.js",function(t,e,o){ var i = t("js/lib/zepto.js"), a = ...
- ArrayList/List 泛型集合
List泛型集合 集合是OOP中的一个重要概念,C#中对集合的全面支持更是该语言的精华之一. 为什么要用泛型集合? 在C# 2.0之前,主要可以通过两种方式实现集合: a.使用ArrayList 直接 ...
- 四种方案:将OpenStack私有云部署到Hadoop MapReduce环境中
摘要:OpenStack与Hadoop被誉为继Linux之后最有可能获得巨大成功的开源项目.这二者如何结合成为更猛的新方案?业内给出两种答案:Hadoop跑在OpenStack上或OpenStack部 ...