DOM  ==  document object model
 
document 对象是唯一同时属于  BOM 和 DOM  的

 
rows 是一种DOM集合,不是数组,所以没有sort() 函数。
 
NodeList   NamedNodeMap :
 
 
document.all  ==  document.getElementByTagName("*");   取得document中所有元素
 
ie6 在使用getElementByName() 和 getElementById() 时都会同时匹配 id 和 name 属性,要注意
 
ie 在使用 setAttribute()  有可能出错
所以尽可能使用  img.src 形式取代 img.getAttribute("src")   
 
Dom对象是host object,host 对象在ie8以及之前版本是通过COM实现的,而不是JScript
所以document.createElement 等Dom 方法是COM 对象的实例,因此typeof document.createElement 返回 object
 
每一个node节点都有自己的ownerDocument属性,如果将不同ownerDocument属性append到结构中会产生错误,需要使用importNode()方法。
 
注意直接定义在node上的属性,在标准浏览器和ie9,10中用getAttribute取不到,得到的结果是null
比如div.aa = 10,用div.getAttribute('aa')得到的是null,需要用div.aa或者div['aa']这样来取
 
 
 
Nodelist是类数组对象,但不是Array的实例( 转化为数组的话[].slice.call(eleList) ),当然用不了array的方法啦,同时它是动态更新的,实时变化的
function convertToArray(nodes)  {
    var array = null;
    try {
        array = Array.prototype.slice.call(nodes, 0); //non-IE and IE9+,throw an error because a NodeList is implemented as a COM object and thus cannot be used where a JScript object is necessary
    } 
    catch (ex)  {
        array = new Array();
        for (var i=0, len=nodes.length; i < len; i++)  {
            array.push(nodes[i]); 
        } 
    }
    return array; 
}
 
 
Dom把页面转化为层次节点结构的地图
Html或者xml的每一个部分都是一种包含不同数据的节点
通过这种树状结构来表示document,可以让开发者获得节点中的内容和修改它的结构
 
DOM Level 1 became a W3C recommendation in October 1998. It consisted of two modules(Dom core and Dom HTML interface):
the DOM Core, which provided a way to map the structure of an XML-based document to allow for easy access to and manipulation of any part of a document, and the DOM HTML, which extended the DOM Core by adding HTML-specific objects and methods.
 
Dom 2 added support for mouse and user-interface events (long supported by DHTML), ranges, traversals (methods to iterate over a DOM document), and support for Cascading Style Sheets (CSS) through object interfaces. The original DOM Core introduced in Level 1 was also extended to include support for XML namespaces.
 
- ➤ DOM Views — Describes interfaces to keep track of the various views of a document (the document before and after CSS styling, for example)
 
- ➤ DOM Events — Describes interfaces for events and event handling
 
- ➤ DOM Style — Describes interfaces to deal with CSS-based styling of elements
 
- ➤ DOM Traversal and Range — Describes interfaces to traverse and manipulate a document tree
 
 
DOM Level 3 further extends the DOM with the introduction of methods to load and save documents in a uniform way (contained in a new module called DOM Load and Save) and methods to validate a document (DOM Validation). In Level 3, the DOM Core is extended to support all of XML 1.0, including XML Infoset, XPath, and XML Base.
 

DOM 对象的更多相关文章

  1. HTML DOM 对象

    本篇主要介绍HTML DOM 对象:Document.Element.Attr.Event等4个对象. 目录 1. Document 对象:表示文档树的根节点,大部分属性和方法都是对元素进行操作. 2 ...

  2. JavaScript实现DOM对象选择器

    目的: 根据传入的选择器类型选出第一个符合的DOM对象. ①可以通过id获取DOM对象,例如 $("#adom"); ②可以通过tagName获取DOM对象,例如 $(" ...

  3. 判断一个对象是jQuery对象还是DOM对象

    今天调试一段代码的时候,看到其中一个变量,想知道它到底是jquery对象还是dom对象. 虽然直接console出这个对象,看它的内部可以判断出来.但是我想有没有什么更方便的方法呢. 后来我想到了一个 ...

  4. 如何通过源生js获取一个元素的具体样式值 /* getCss:获取指定元素的具体样式的属性值 curElement:[dom对象] attr:[string] */

    昨天的博客些的真的是惨不忍睹啊!!!但是我的人生宗旨就是将不要脸的精神进行到底,所以,今天我又来了.哈哈哈哈哈! 方法一:元素.style.属性名:(这个有局限性--只能获取行内样式的值,对于样式表或 ...

  5. 锋利的jQuery--jQuery与DOM对象的互相转换,DOM的三种操作(读书笔记一)

    1.jQuery对象就是通过jQuery包装DOM对象后产生的对象.   2.jQuery对象和DOM对象的相互转换.   良好的书写风格: var $input=$("input" ...

  6. jQuery对象和DOM对象的区别

    jQuery对象和DOM对象使用说明,需要的朋友可以参考下.1.jQuery对象和DOM对象第一次学习jQuery,经常分辨不清哪些是jQuery对象,哪些是 DOM对象,因此需要重点了解jQuery ...

  7. DOM对象与jQuery对象的相互转换

    DOM  对象可以使用 js       中的方法,  不能使用jQuery中的方法:jQuery对象只能使用jQuery中的方法, 不能使用js中的方法:jQuery对象是通过jQuery包装DOM ...

  8. DOM对象—选中执行效果

    ---恢复内容开始--- 例如我们注册时,一些法律条例,我们是否同意决定着能否注册.在选择同意或不同意时出现的效果. 先在body里做一个按钮和选项框. <input type="ch ...

  9. jQuery对象与dom对象相互转换

    核心提示:jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,一般情况下,如S('#id' ...

  10. 关于DOM对象与JQuery对象的那些事

    这个问题源自上一次的工作室讨论班,主题是"jQuery选择器的使用",在讨论班的结尾,我留了一个思考题:  jQuery获取到的对象和直接调用原生Javascript方法获得的对象 ...

随机推荐

  1. bzoj3224 普通平衡树(c++vector)

    Tyvj 1728 普通平衡树 2014年8月23日6,4365 Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有 ...

  2. NDK各个版本链接

    ndk_r15c (July 2017) Windows 32-bit : https://dl.google.com/android/repository/android-ndk-r15c-wind ...

  3. 126邮箱发送邮件python实现

    126邮箱发送邮件python实现 from email.mime.text import MIMEText from email.utils import formataddr import smt ...

  4. 简单Elixir游戏服设计-玩家进程注册

    上回说用Registry 做本地注册(跨服可以用syn,只是稍微麻烦点,需要模拟global注册机制,写个封装模块). 修改game_server 项目的mix.exs, 增加应用启动 def app ...

  5. IDE快捷键

    visual studio 中 : /// 快速函数注释 ctrl+k,ctrl+F 格式化代码 Android Studio  中: /**回车 快速函数注释 ctrl+h 查看继承关系 自动格式化 ...

  6. Google Authenticator 如何集成(U盾的实现原理相同)

    Google Authenticator是一个类似U盾的二次验证工具,Google提供了它的开源客户端(https://github.com/google/google-authenticator)里 ...

  7. C++格式化硬盘程序

    #include using namespace std; //声明命名空间 void main() {  char format[12]="format", name[10], ...

  8. Tensorflow卷积神经网络

    卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络, 在计算机视觉等领域被广泛应用. 本文将简单介绍其原理并分析Tensorflow官方提供的示例. ...

  9. Python系列之文件操作、冒泡算法、装饰器、及递归

    文件处理 python对文件进行读写操作的方法与具体步骤,包括打开文件.读取内容.写入文件.文件中的内容定位.及关闭文件释放资源等 open().file(),这个两函数提供了初始化输入\输出(I\O ...

  10. strut2-学习笔记(二)

     Struts2学习笔记(二) 1. 自定义结果视图的类型(结果视图类型的应用) CAPTCHA图像(随机验证码图像) 实现步骤: (1)编写一个类实现com.opensymphony.xwork ...