内容待补充。。。

DOM相关注意题目:

DOM的最小组成单位叫做
//节点 Node DOM 有自己的国际标准,目前的通用版本是
//DOM 3 DOM 树的根节点
//HTML 元素 Element 的 NodeType 值为
//1 和Node. ELEMENT_NODE <div id=x></div> x的值
//就是这个 id 为 x 的 div 对应的 Element 对象 document.body.nodeName
//"BODY" <div id=parent></div> parent的值
//如果有父窗口,就是父窗口。如果没有,就是当前窗口(不要用全局属性)
//如果想用,可声明一个函数,并立即调用.call(),或者直接() <div id=x></div>
<div id=y></div>
x.nextSibling 的值是
//回车构成的文本节点 <div id=parent1>
<div id=child1>
</div>
</div>
parent1.childNodes 的值是
//{0:child1, length:1} 伪数组 var parent = document.getElementById('parent');
parent.childNodes.length //
parent.appendChild(document.createElement('div'));
parent.childNodes.length
// 请问现在 length 是多少
//3 因为最后有用childNodes重新看子节点 var allDiv = document.querySelectorAll('div>
allDiv.length // 假设是 2
document.body.appendChild( document.createElement('div') )
allDiv.length
// 请问现在 length 的值是多少???
//2 因为alldiv是在第一步就取出来了,后面也没有重新取所以一直都是2 //以上题目为什么一个 length 会动态变化,另一个 length 却不会动态变化?
1 parent.childNodes 是动态集合。所谓动态集合就是一个活的集合,DOM树删除或新增一个相关节点,都会立刻反映在NodeList接口之中。 
 2 document.querySelectorAll方法返回的是一个静态集合。DOM内部的变化,并不会实时反映在该方法的返回结果之中。
ChildNode接口用于处理子节点(包含但不限于Element子节点)。Element节点、DocumentType节点和CharacterData接口,部署了ChildNode接口。凡是这三类节点(接口),都可以使用
// remove()、before()、after()、replaceWith() 节点的类型有七种,分别是
//Document、DocumentType、Element、Attribute、Text、Comment、DocumentFragment
//(这三种不是:Doctype、Tag、TextElement)

HTMLCollection和NodeList的区别

在用原生javascript选择器获取dom元素的时候。能直接返回

元素的也仅仅只有以下两条

var dom1=document.getElementById("a");
var dom2=document.querySelector("#a");

这两种选择器返回的是a元素。

而其他的选择器,大部分返回的结果是HTMLCollection,或者NodeList。

NodeList 对象是节点的集合,返回的是 Node 集合与 Node(取索引)。由 Node.childNodes 和 document.querySelectorAll 所返回的。

HTMLCollection 对象是元素的集合,返回是 Element 集合与 Element(取索引)。由node.children 和 node.getElementsByXXX

唯一要注意的是 querySelectorAll 返回的虽然是 NodeList ,但是实际上是元素集合,并且是静态的(其他接口返回的HTMLCollection和NodeList都是live的)

HTMLCollection与NodeList的区别有:

1 HTMLCollection实例对象的成员只能是Element节点,NodeList实例对象的成员可以包含其他节点。

2 HTMLCollection实例对象可以用id属性或name属性引用节点元素,NodeList只能使用数字索引引用。

DOM相关知识点的更多相关文章

  1. DOM相关知识点以及原型

    DOM(增删改查): 查询 1.获取元素 1.1标准DOM API document.getElementById document.getElementsByTagName document.get ...

  2. http及浏览器相关知识点归纳

    http是应用层协议,采用请求/响应模型 1.浏览器地址栏输入URL地址后发生了什么? 浏览器判断地址是否是合理的URL地址,是否是http协议请求,如果是则进入下一步 浏览器对此URL进行缓存检查: ...

  3. React其它相关知识点

    React其它相关知识点 一,解释一下React Fiber? 简单来说,核心就是在虚拟dom和浏览器的调用栈之间多了一个虚拟调用栈,和虚拟dom一样,这个虚拟调用栈也是在内存中的,这个虚拟调用栈就类 ...

  4. UITableView相关知识点

    //*****UITableView相关知识点*****// 1 #import "ViewController.h" // step1 要实现UITableViewDataSou ...

  5. Android开发涉及有点概念&相关知识点(待写)

    前言,承接之前的 IOS开发涉及有点概念&相关知识点,这次归纳的是Android开发相关,好废话不说了.. 先声明下,Android开发涉及概念比IOS杂很多,可能有很多都题不到的.. 首先由 ...

  6. IOS开发涉及有点概念&相关知识点

    前言,IOS是基于UNIX的,用C/C+/OC直通系统底层,不想android有个jvm. 首先还是系统架构的分层架构 1.核心操作系统层 Core OS,就是内存管理.文件系统.电源管理等 2.核心 ...

  7. IOS之UI--小实例项目--添加商品和商品名(使用xib文件终结版) + xib相关知识点总结

    添加商品和商品名小项目(使用xib文件终结版) 小贴士:博文末尾有项目源码在百度云备份的下载链接. xib相关知识点总结 01-基本使用 一开始使用xib的时候,如果要使用自定义view的代码,就需要 ...

  8. 学习记录013-NFS相关知识点

    一.NFS相关知识点 1.NFS常用的路径/etc/exports NFS服务主配置文件,配置NFS具体共享服务的地点/usr/sbin/exportfs NFS服务的管理命令,exportfs -a ...

  9. TCP/IP 相关知识点与面试题集

    第一部分:TCP/IP相关知识点 对TCP/IP的整体认 链路层知识点 IP层知识点 运输层知识点 应用层知识点 (这些知识点都可以参考:http://www.cnblogs.com/newwy/p/ ...

随机推荐

  1. [ Tools ] [ MobaXterm ] [ SSH ] [ Linux ] 中文顯示解決

    預設是無法顯示中文的,需要修改連線的 Terminal Setting

  2. js 根据固定位置获取经纬度--腾讯地图

    1.首先引入jq 和 腾讯地图js <script src="../js/jQuery.js"></script> <script charset=& ...

  3. Walking on the path of Redis --- Data structure

    废话开篇 相比于其他内存数据库,Redis最大的特点就是拥有丰富的数据结构, 经常被称为Date Structure Server.Redis支持的数据结构包含strings, hashes, lis ...

  4. Verilog之$sreadmemb

    1 Memories  Memories file format is shown below, the address is specified as @ <address> in he ...

  5. linux+nginx+python+django环境配置

    Django是一个开放源代码的Web应用框架,由Python写成,它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的.python+django也是web开发者最受欢迎的框架.今天 ...

  6. tomcat 使用常见问题

    tomcat 下目录的介绍: 参考地址: http://blog.csdn.net/u013132035/article/details/54949593 参考书籍:tomcat权威指南 (1) 非w ...

  7. RabbitMQ基础知识(转载)

    RabbitMQ基础知识(转载) 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需 ...

  8. Python笔记11------一个K-means聚类的小例子

    #导入scipy库,库中已经有实现的kmeans模块,直接使用, #根据六个人的分数分为学霸或者学渣两类 import numpy as np from scipy.cluster.vq import ...

  9. java实现根据起点终点和日期查询去哪儿网的火车车次和火车站点信息

    本文章为原创文章,转载请注明,欢迎评论和改正. 一,分析 之前所用的直接通过HTML中的元素值来爬取一些网页上的数据,但是一些比较敏感的数据,很多正规网站都是通过json数据存储,这些数据通过HTML ...

  10. 【Codeforces Round #507 (Div. 2, based on Olympiad of Metropolises) B】Shashlik Cooking

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 翻转一次最多影响2k+1个地方. 如果n<=k+1 那么放在1的位置就ok.因为能覆盖1..k+1 如果n<=2k+1 ...