1.Document与Element和TEXT是Node的子类。
Document:树形的根部节点
Element:HTML元素的节点
TEXT:文本节点
 
>>HtmlElement与HtmlDocument
a:HtmlElement对象表示HTML中的一个个元素。
b:HtmlDocument对象表示 HTML 文档树的根。HTMLDocument 接口对 DOM Document 接口进行了扩展,定义 HTML 专用的属性和方法。
 
>>HTML的DOM对象
a:DOM Event:Event 对象代表事件的状态。http://www.w3school.com.cn/jsref/dom_obj_event.asp
b:DOM Attribute:Attr 对象表示 HTML 属性。http://www.w3school.com.cn/jsref/dom_obj_attributes.asp
c:DOM Element:Element 对象表示 HTML 元素,Element 对象可以拥有类型为元素节点、文本节点、注释节点的子节点。http://www.w3school.com.cn/jsref/dom_obj_all.asp
d:DOM Document:每个载入浏览器的 HTML 文档都会成为 Document 对象。Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。Document 对象是 Window 对象的一部分,可通过 window.document 属性对其进行访问。http://www.w3school.com.cn/jsref/dom_obj_document.asp
 
>>#log span 与 #log>span的区别?
 <div id="log">
<span>Span1</span>
<span>Span2</span>
<span>Span3</span>
<div>
<span>Span4</span>
<span>Span5</span>
</div>
</div>

#log span的效果:

#log>span的效果:

扩展:CSS选择器 < ~ +

 
2.CSS选择器
与CSS选择器的标准化一起的另外一个称做"选择器API"的W3C标准定义了获取匹配一个给定选择器的元素的JavaScript方法。该API的关键是Document方法querySelectorAll()。它接收包含一个CSS选择器的字符串参数,返回一个表示文档中匹配选择器的所有元素的NodeList对象。
querySelectorAll()返回的NodeList对象并不是实时的:它包含在调用时刻选择器所匹配的元素,不包括后续的通过JavaScript更改文档的匹配元素。
querySelectorAll()强大到即使在没有其的原生支持的浏览器中依旧可以使用CSS选择器。它是一种终极的选取方法技术。
基于jQuery的Web应用程序使用一个轻便的,跨浏览器的和querySelectorAll()等效的方法,命名为$().
jQuery的CSS选择器匹配代码已经作为一个独立的标准库提出来并发布了,命名为Sizzle。
 
3.HTML属性作为Element的属性
表示HTML文档元素的HTMLElement对象定义了读写属性,他们映射了元素的HTML属性。
例如:
var image=document.getElementById("my_image");
var imgurl=image.src;
可以使用<img>元素的HTMLElement对象的src属性.
 
 
4.数据集属性
有时候在HTML元素上绑定一些额外的信息。HTML5提供看一种方法。
任意一”data-*“为前缀的小写的属性名字都是合法的。
 
5.Web浏览器很擅长解析HTML,通常设置innerHTML效率非常高。但是:对innerHTML属性使用”+=“操作符重复追加文本时效率低下,因为它既要序列化又要解析。
插入节点方法:appendChild()与insertBefore()的异同?
 
6.视口坐标与文档坐标
视口坐标:指的是显式文档内容的那一部分(也即我们在浏览器中能看到的那部分区域),不包括浏览器的外壳元素,比如菜单栏,工具条等。
文档坐标:指的是包含整个页面的整个部分(也即我们在浏览器中能看的那部分区域以及需要依靠滚动条来滚动查看的区域)。
 
该书中提供了几个实用的方法:
a:查询窗口滚动条的位置
//查询窗口滚动条的位置
functon getScrollOffsets(w){
w = w || window;
var sLeft,sTop;
if(w.pageXOffset != null) {
sLeft = w.pageXOffset;
sTop = w.pageYOffset;
return {x:sLeft,y:sTop};
}
 
b:查询窗口的视口尺寸

//查询窗口的视口尺寸
function getViewportSize(w){
  w = w || window;
  var cWidth,cHeight;
  if(w.innerWidth != null){
    cWidth = w.innerWidht;
    cHeight = w.innerHeight;
    return {w:cWidth,h:w.cHeight};
  }
  if(document.compatMode == "CSS1Compat"){
    cWidth = document.documentElement.clientWidth;
    cHeight = doument.documentElement.clientHeight;
    return {w:cWidth,h:w.cHeight};
  }else if(document.compatMode == "BackCompat"){
    cWidth = document.body.clientWidth;
    cHeight = doument.body.clientHeight;
    return {w:cWidth,h:w.cHeight};
  }
}
 
7.查询元素的几何尺寸
getBoundingClientRect()方法
 
需要注意的是:getBoundingClientRect这个方法不同于getElementByTagName()这样的DOM方法返回的结果是实时的,但是getBoundingClientRect却不是,它类似于一种静态快照。用户滚动的时候,并不会去实时更新。
 
getBoundingClientRect()与getClientRects()的区别?
 
8.判断元素在某点
elementFromPoint()能够用来判断判定视口中的指定位置上有什么元素。
传递X与Y坐标(使用视口或窗口坐标而不是文档坐标)
它有一个取代者,那就是target属性。
 
9.滚动
Window的scrollBy()与scroll()和scrollTo()类似。
只是scrollBy的参数是相对的,并在当前滚动条的偏移量上增加。
如:
//每200毫秒向下滚动10个像素
javascript:void setInterval(function(){ scrillBy(0,10)}, 200);
scrollIntoView()的使用?
 
offsetWidth()
offsetHeight()
offsetLeft()
offsetTop()
offsetParent()
 
clientWidth()
clientHeight()
clientLeft()
clientTop()
 
scrollWidth()
scrollHeight()
scrollLeft()
scrollTop()
 
Client他就是Web浏览器客户端-专指它定义的窗口或视口。
 
 
10.HTML表单
服务器端程序是基于表单提交动作的
客户端程序是基于事件的
JavaScript的From。
 
 
 

JavaScript权威设计--JavaScript脚本化文档Document与CSS(简要学习笔记十五)的更多相关文章

  1. Javascript学习8 - 脚本化文档(Document对象)

    原文:Javascript学习8 - 脚本化文档(Document对象) 每个Web浏览器窗口(或帧)显示一个HTML文档,表示这个窗口的Window对象有一个document属性,它引用了一个Doc ...

  2. JavaScript权威设计--CSS(简要学习笔记十六)

    1.Document的一些特殊属性 document.lastModified document.URL document.title document.referrer document.domai ...

  3. JavaScript权威设计--JavaScript函数(简要学习笔记十一)

    1.函数调用的四种方式 第三种:构造函数调用 如果构造函数调用在圆括号内包含一组实参列表,先计算这些实参表达式,然后传入函数内.这和函数调用和方法调用是一致的.但如果构造函数没有形参,JavaScri ...

  4. JavaScript权威设计--JavaScript函数(简要学习笔记十)

    1.函数命名规范 函数命名通常以动词为前缀的词组.通常第一个字符小写.当包含多个单词时,一种约定是将单词以下划线分割,就像"like_Zqz()". 还有一种就是"lik ...

  5. JavaScript权威指南--脚本化文档

    知识要点 脚本化web页面内容是javascript的核心目标. 第13章和14章解释了每一个web浏览器窗口.标签也和框架由一个window对象所示.每个window对象有一个document对象, ...

  6. JavaScript 客户端JavaScript之 脚本化文档

    客户端JavaScript的存在把静态HTML转变为交互式的Web应用程序,脚本化Web页面的内容正是JavaScript存在的理由.   一个文档对象模型或者说DOM就是一个API,它定义了如何访问 ...

  7. javascript脚本化文档

    1.getElememtById /** * 获取指定id的的元素数组 */ function getElements(/*ids...*/) { var elements = {}; for(var ...

  8. JavaScript权威设计--Window对象之Iframe(简要学习笔记十四)

    1.Window对象属性的文档元素(id) 如果在HTML文档中用id属性来为元素命名,并且如果Window对象没有此名字的属性,Window对象会赋予一个属性,它的名字是id属性的值,而他们的值指向 ...

  9. JavaScript权威设计--命名空间,函数,闭包(简要学习笔记十二)

    1.作为命名空间的函数 有时候我们需要声明很多变量.这样的变量会污染全局变量并且可能与别人声明的变量产生冲突. 这时.解决办法是将代码放入一个函数中,然后调用这个函数.这样全局变量就变成了 局部变量. ...

随机推荐

  1. 前端CSS预处理器Sass

    前面的话   "CSS预处理器"(css preprocessor)的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件.SASS是一种CSS的开发工 ...

  2. TODO:Golang指针使用注意事项

    TODO:Golang指针使用注意事项 先来看简单的例子1: 输出: 1 1 例子2: 输出: 1 3 例子1是使用值传递,Add方法不会做任何改变:例子2是使用指针传递,会改变地址,从而改变地址. ...

  3. 2D、3D形变

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 17.0px Monaco; color: #a5b2b9 } span.Apple-tab-span { ...

  4. 基于OpenCV的车辆检测与追踪的实现

    最近老师布置了一个作业,是做一个基于视频的车辆检测与追踪,用了大概两周的时间做了一个简单的,效果不是很理想,但抑制不住想把自己的一些认识写下来,这里就把一些网络上的博客整理一下分享给大家,希望帮助到大 ...

  5. SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论

    异常汇总:http://www.cnblogs.com/dunitian/p/4523006.html#signalR 后台创建了一个DntHub的集线器 前台在调用的时候出现了问题(经检查是代理对象 ...

  6. HTML5 介绍

    本篇主要介绍HTML5规范的内容和页面上的架构变动. 目录 1. HTML5介绍 1.1 介绍 1.2 内容 1.3 浏览器支持情况 2. 创建HTML5页面 2.1 <!DOCTYPE> ...

  7. ASP.NET Core CORS 简单使用

    CORS 全称"跨域资源共享"(Cross-origin resource sharing). 跨域就是不同域之间进行数据访问,比如 a.sample.com 访问 b.sampl ...

  8. Android Studio开发RecyclerView遇到的各种问题以及解决(一)

    以前一直在用ListView,,,最近才看RecyclerView发现好强大.RecyclerView前提是Android版本在5.0以上,本人以前用的是eclipse只支持到4.4.索性就安装一个A ...

  9. 发布APP到app store

    好久好久没写博客了,主要是 都在学习新东西,忙不赢啊. 近段时间在用AC平台学习开发移动APP, 今天开始发布应用. 在ac云控制台编译成ipa后,使用apple提供的Application Load ...

  10. 将MPM雪模拟移植到Maya

    同事实现了一个迪士尼的MPM雪模拟论文,我将其移植到Maya中 论文题目是 A material point method for snow simulation 代码在这里: https://git ...