创建: 2017/10/12

初步完成: 2017/10/15
 
更新: 2017/10/14 标题加上【WIP】,继续完成
 
 
【TODO】
补充暂略的, 搜【略】

 DOM树
 概要  基本节点

 文档节点
 Document Node
 根节点Document
 呼出: document

 生成器
 construction
 HTMLDocument
 nodeType  9
 nodeName  "#document"
 nodeValue  null
 元素节点 

 生成器
 construction
 HTMLElement
 nodeType  1
 nodeName  大写的元素名
 nodeValue  null
 属性节点

 生成器
 construction
 Attr
 nodeType  2
 nodeName  属性名
 nodeValue  属性值
 文本节点

 空白节点   半角空格,tab,改行等
 html要素最开始和最后不生成空节点 
 生成器
 construction
 Text
 nodeType  3
 nodeName  "#text"
 nodeValue  文本内容, 字符串
 注释节点

 生成器
 construction
 Comment
 nodeType  8
 nodeName  "#comment"
 nodeValue  注释内容, 字符串
   
   
   
   
   
   
   
 节点对象的属性  注意: 不要这样子找节点,
空节点的存在影响结果!
     
   一般用class和id来找

 parentNode  呼出母节点
 Document没有母节点,返回null
 childNodes   呼出所有子节点的类似数组的对象(NodeList)
 firstChild  呼出第一个子节点
 没有返回null
 lastChild   呼出最后一个子节点
 没有返回null
 nextSibling  呼出下一个兄弟节点(母节点相同)
 previousSilbing  呼出上一个兄弟节点
 nodeType  说明节点的种类的数值

 1  要素节点
 3  文本节点
 9  根节点Document 
 nodeValue
 文本节点  文本
 要素节点  null
 nodeName
 要素节点  大写的要素名
 文本节点  "#text"
   
 表示html树的属性  无视文本节点,所以不会有空节点

 parentElement  获取母元素
 children  获取所有子元素的类似数组的对象(NodeList)
 firstElementChild  获取第一个子元素 
 lastElementChild  获取最后一个子元素 
 nextElementSibling  下一个兄弟元素
 previousElementSibling  上一个兄弟元素
 childElementCount  子元素的数量
 相当于 children.count
   
   
   
   
   
 节点对象(Node
Object)的取得
 通过ID获取
 单个
 ID不能重复,所有可以获取特定的一个

 函数  document.getElementByIdx_x_x_x_x_x_x_x_x_x_x_x(str);
 例  let id_test =
document.getElementByIdx_x_x_x_x_x_x_x_x_x_x_x('id-test');
   
   
   
 通过元素名获取
 多个
 不区别大小写
 获取所有同类元素

 函数  document.getElementsByTagName_r(str);
 例  let tag_test =
document.getElementsByTagName_r('h1');
 注意  复数形式,不要漏了s
 getElementsByTagName
   参数"*"可以获取所有的子元素
 document.getElementsByTagName_r("*");
   可以用于任何元素

返回的是NodeList, 只可读的类似数组的Object,带length
 会实时变化
 迭代时候复制成一个静态的
 var divs =
document.getElementsByTagName_r("div");
 var staticList = Array.prototype.slice.call(divs,
0);

 通过class名获取元素
 多个

 函数  document.getElementsByClassName(str);
 例  var color_test =
document.getElementsByClassName('color-test');
   复数形式,不要漏了s
   
   
 通过name获取元素
 多个

 函数  document.getElementsByName(str);
 例子 #
TODO:  暂略 
   复数形式,不要漏了s
 name属性  form, input这类控制表格的元素
 img,map,object等
 上述的可以设定
   
 用CSS选择器

 函数  document.querySelectorAll(str);
 例  document.querySelectorAll("body>h1:first-child");
 就是直接写css选择器
 只选匹配的第一个  document.querySeletor(str);
    不会实时变化
   
 接入用的属性  带[]的都是HTMLCollection对象,类似数组

 document.documentElement  文档根元素(html)的参照
 document.head  head的参照
 document.body  body的参照
 document.forms[]  
 document.images[]  img
 document.anchors[]  
 document.applets[]  html5以后是object标签
 document.embeds[]
 document.plugins[]
 HTML5新增
 embed
 document.scripts[]
 HTML5新增
 scirpt
   
   
   
   
   
 属性值的获取与设定
 元素的属性 《a id="

【WIP】客户端JavaScript DOM的更多相关文章

  1. 【WIP】客户端JavaScript Web Object

    创建: 2017/10/11   更新: 2017/10/14 标题加上[WIP],增加[TODO] 更新: 2018/01/22 更改标题 [客户端JavaScript Web Object, UR ...

  2. JavaScript 客户端JavaScript之事件(DOM API 提供模块之一)

    具有交互性的JavaScript程序使用的是事件驱动的程序设计模型.   目前使用的有3种完全不同的不兼容的事件处理模型. 1.原始事件模型 (一种简单的事件处理模式) 一般把它看作0级DOM API ...

  3. javaScript DOM JQuery AJAX

    http://www.cnblogs.com/wupeiqi/articles/5369773.html 一 JavaScript JavaScript是一门编程语言,浏览器内置了JavaScript ...

  4. JavaScript DOM 编程艺术(第2版)读书笔记(1)

    JavaScript 简史 JavaScript 是Netscape公司与Sun公司合作开发的.在 JavaScript 1.0发布时,Netscape Navigator主宰着浏览器市场.微软在推出 ...

  5. JavaScript DOM动态创建(声明)Object元素

    http://www.cnblogs.com/GuominQiu/archive/2011/04/01/2002783.html 一文提及“等整个页面加载完毕后,根据用户所选的阅读机类型,再用Java ...

  6. JavaScript DOM编程艺术第一章:JavaScript简史

    本系列的博客是由本人在阅读<JavaScript DOM编程艺术>一书过程中做的总结.前面的偏理论部分都是书中原话,觉得有必要记录下来,方便自己翻阅,也希望能为读到本博客的人提供一些帮助, ...

  7. 【JavaScript权威指南(第五版)】笔记之第二部分 客户端JavaScript 第13章~第23章

    第十三章 Web浏览器中的javascript ①   eg:下面两行代码实际上执行的是相同的功能 var answer = 42; window.answer = 42;   ③每个window对象 ...

  8. JavaScript 客户端JavaScript之脚本化HTTP(通过XMLHttpRequest)

    XMLHttpRequest对象的设计目的是为了处理由普通文本或XML组成的响应:但是,一个响应也可能是另外一种类型,如果用户代理(UA)支持这种内容类型的话.   大多数浏览的客户端JavaScri ...

  9. JavaScript 客户端JavaScript之 Web浏览器的环境

    Web浏览器实现的Javascript,通过Web浏览器实现的JavaScript引入了大量可脚本化的对象(1.Web浏览器 2.HTML 3.HTML中的内容)  Web浏览器中的Javascrip ...

随机推荐

  1. 编译器:gcc, clang, llvm

    clang Clang是LLVM的前端,可以用来编译C,C++,ObjectiveC等语言.传统的编译器通常分为三个部分,前端(frontEnd),优化器(Optimizer)和后端(backEnd) ...

  2. 40条常见的移动端Web页面问题解决方案

    1.安卓浏览器看背景图片,有些设备会模糊.想让图片在手机里显示更为清晰,必须使用2x的背景图来代替img标签(一般情况都是用2倍).例如一个div的宽高是100100,背景图必须得200200,然后b ...

  3. [Luogu] P1993 小K的农场

    题目描述 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得一些含糊的信息(共m个),以下列三种形式描述: 农场a比农场b至少多种植了c个单位的作 ...

  4. linux 安装 phpstorm 并破解

    下载官方软件linux版phpstrom, 貌似很卡要FQ. 我下载我的百度网盘备用了.解压目录, mv 到/opt/ 下 cd进  bin目录下chmod  777 phpstorm.sh执行 ./ ...

  5. Python基础-获取当前目录,上级目录,上上级目录

    import os print '***获取当前目录***' print os.getcwd() print os.path.abspath(os.path.dirname(__file__)) pr ...

  6. gnulpot

    gnulpot Table of Contents 1. Label position 2. coordinates 3. Symbols 4. key 4.1. key position 4.2. ...

  7. PhantomJS & headless browser & pdf

    PhantomJS http://phantomjs.org/ https://github.com/Medium/phantomjs https://github.com/Medium/phanto ...

  8. xcode5修改APP名字

    bundle display name 配置文件里面设置, 这个指的是显示在icon下面的名字.application name在itunes connect上改, 是指显示在app store上的名 ...

  9. 实用型的DJANGO ORM

    比较深入一点的内容,需要用时,用心看看. URL: https://www.sitepoint.com/doing-more-with-your-django-models/ https://www. ...

  10. [bzoj1613][Usaco2008 Jan]Running贝茜的晨练计划_动态规划

    Running贝茜的晨练计划 bzoj-1613 Usaco-2008 Jan 题目大意:题目链接(U组题题意真的是没法概括qwq....). 注释:略. 想法:一眼dp题. 状态:dp[i][j]表 ...