《JavaScript DOM 编程艺术》(第二版)读书笔记(二)

接下来正式进入DOM的学习

第三章 DOM

D代表document(文档),O代表object(对象),M代表model(模型),简单的说DOM把一份文档表示成一颗“树”(数学上的概念).

节点(node),它表示一个网络的连接点。一个网络就是由一些节点构成的集合。DOM也是同样的情况,文档是由节点构成的集合.

1.元素节点(element node)

<html>、<head>、<body>、<p>、<ul>等标签的名字就是元素的名字,比如文本段落元素名字是“p”

2.文本节点(text node) 一般文本节点包含在元素节点里面

3.属性节点(attribute node) 属性节点也包含在元素节点里,比如最常见的class,id

每个节点都是一个对象

获取元素的方法

1.document.getElementById

2.document.getElementsByTagName

3.document.getElementsByClassName

第一种方法比较简单,第二种方法需要注意的是得到的结果是一个数组,第三个方法比较新,旧的浏览器版本没有支持,但可以用原有的方法实现,代码如下

function getElementsByClassName(node,classname){
        if(node.getElementsByClassName){                               //如果浏览器支持原生的方法,则直接用原生的方法
        return node.getElementsByClassName(classname);
        }else{
        var results = new Array();
        var elems = node.getElementsByTagName("*");
        for(var i = 0; i < elems.length; i++){
            if(elems[i].className.indexOf(classname)!=-1){
                results[results.length]=elems[i];
            }
        }
        return results;
}

tips:indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。没有则为-1。

获取和设置属性(两者只能作用于元素节点)

1.getAttribute 使用方法:object.getAttribute(attribute)

2.setAttribute 使用方法:object.setAttribute(attribute,value)

第四章 案例研究:javascript图片库

1.setAttribute可以用其他方法代替,直接设置:element.value = "the new value",相当于element.setAttribute("value","the new value")

2.childNodes 属性

在一颗节点树上,childNodes属性可以用来获取任何一个元素的所有子元素,它是一个包含这个元素全部子元素的数组.

由childNodes属性返回元素所有类型的节点,不仅仅是元素节点。几乎每一种东西都会成为一个节点,甚至空格和换行都会被解释为节点。

3.nodetype属性

可以用node.nodeType获取节点的nodeType属性

元素节点的nodetype属性值是1,属性节点的nodetype属性值是2,文本节点的nodetype属性值是3,注释节点的nodetype属性值是8,文档节点的nodetype属性值是9

4.nodevalue属性

如果想改变一个文本节点的值,用nodeValue属性,方法node.nodeValue

5.firstChildlastChild属性

分别对应childNodes[0]和childNodes[childNodes.length-1]

第5章 最佳实践

主要讲了写JS代码的几个需要重点注意的东西:

平稳退化、渐进增强、向后兼容、提高性能。

仔细阅读,在平常做项目时运用。

时间: 2024-10-21 14:12:31

《JavaScript DOM 编程艺术》(第二版)读书笔记(二)的相关文章

JavaScript DOM编程艺术第二版学习(1/4)

---恢复内容开始--- 接下来项目需要网页相关知识,故在大牛的指引下前来阅读本书. 当前水平:HTML&CSS&JS基本掌握,能在阅读文档以及Google查找的情况下完成前端代码编写,但是学习不深,HTML5&CSS3新特性.JS基础&框架皆不熟悉 读书目的:了解DOM概念并通过训练熟悉掌握,了解JS特性 博客目的:督促自己学习并记录下过程 博客编写时读书进度:第6章完结 阅读规划: 浏览目录之后,总结该书学习思路大致如下(其实就是生搬目录): 简史->最基础语法-

&lt;&lt;Javascript Dom 编程艺术(第二版)&gt;&gt;摘录

Time flies, my friends. Hope you could stop for a while for my contribution, for your future. 1.节点分为不同的类型:元素节点,属性节点,文本节点. 2.文档中的每个元素节点都是一个对象. 3.onclick事件处理函数所触发的javascript代码里增加一条return false,可以防止用户被逮到目标链接窗口.eg:<a href=‘images/fireworks.jpg’ onclick=’

sql注入攻击与防御第二版读书笔记二——SQL注入测试

寻找SQL注入 该阶段的主要目标是识别服务器响应中的异常并确定是否由SQL注入漏洞产生,随后确定在服务器端运行的SQL查询的类型(select,update,insert或delete),以及将攻击代码注入查询中的位置(比如from,where或者order by等) 我们需要关注:get,post,cookie,host,referer,useragent. 理解并利用SQL注入漏洞所涉及的主要技术包括:在心里重建开发人员在Web应用中编写的代码以及设想远程SQL代码的内容.如果能想象出服务器

sql注入攻击与防御第二版读书笔记二——SQL盲注利用

寻找并确认SQL盲注 强制产生通用错误 注入带副作用的查询 如 mssql waitfor delay '0:0:5' mysql sleep() 拆分与平衡 5 -> 7-2 常见SQL盲注场景 提交一个错误查询时会返回一个通用错误页面,而提交正确的查询会返回一个内容可被适度控制的页面 提交一个错误查询时会返回一个通用错误页面,而提交正确的查询会返回一个内容不可被控制的页面 提交一个错误查询时不会影响,但是可能基于时间或者其他副作用 SQL盲注技术 推断攻击技术 len() 判断长度 subs

Javascript Dom编程艺术(第2版)读书笔记

Javascript Dom编程艺术这本书我看的是第2版的,真心觉得这本书不错,它将DOM编程的一些基本原则,及如何让Javascript代码在浏览器不支持的情况下,或浏览器支持了Javascript但用户禁用它的情况下做到平衡退化,让最基本的操作仍能顺利完成,以及如何让结构与样式分享做到真正的渐近增强叙述得很清楚,也很容易理解接受.我也是看了这本书之后,才对代码优化,结构,行为,样式有了进一步的加深理解. Javascript Dom编程艺术(第2版)读书笔记,布布扣,bubuko.com

JavaScript DOM编程艺术 读书笔记

3 DOM DOM分别指document,object和model. DOM中包含的节点主要分为三种:元素节点.文本节点和属性节点.DOM的原子是元素节点,标签的名字就是元素的名字,元素可以包含其他的元素.没有被包含在其他元素里的唯一元素是<html>元素,它是树节点的根元素:在XHTML文档里,文本节点总是被包含在元素节点的内部.但并非所有的元素节点都包含有文本节点:属性节点用来对元素做出更具体地描述. 有3种DOM方法可获取元素节点,分别是通过元素ID.通过标签名字和通过类名字来获取. 1

Javascript DOM 编程艺术读书笔记16/04/01

愚人节快乐 开始用webstorm了,随着学习深入,代码越来越长,因为不借助ide还真是挺难的 今天发现了一个严重的误区,text和textNode是完全不同的两个概念,之前没有特别注意,写代码很容易跳过createTextNode直接用parentNode.appendChild(text) 单独拎出来晒一晒,以后引以为戒 Javascript DOM 编程艺术读书笔记16/04/01

《javascript dom编程艺术》笔记(二)——美术馆示例

这几天把这本书看完了,里面大部分知识我已经会了,所以看得就略简单,好多地方都没有再去动手去做,我知道这样是不对的,以后补吧. 现在我要做的是把这本书的笔记完结掉,不然总觉得有啥事没有做. 这个版本不是书中的最后版本,好像是第二版吧.后面还有动态创建结点的一版本,我已经在别的地方实践过了,就不再做了. 只贴出两个函数. //显示图片方法 function showPicture (whichpic) { //综合绑定的事件考虑,条件执行失败,希望浏览器可以让用户打开图片,因此在onclick处re

JavaScript DOM编程艺术学习笔记(一)

嗯,经过了一周的时间,今天终于将<JavaScript DOM编程艺术(第2版)>这本书看完了,感觉受益匪浅,我和作者及出版社等等都不认识,无意为他们做广告,不过本书确实值得一看,也值得推荐给想了解HDOM的相关人员!首先非常感谢作者写出了这么好的一本书,谢谢!书中的内容比较多,我仅记下我认为对自己和他人有所帮助的一些内容! 嗯,首先还是让代码来说话吧! 下面是两段此书中反复强调且通用的经典代码段 1:相当的经典和实用,尤其是当需要为页面加载函数绑定多个函数的时候 /** * [addLoad

《JavaScript DOM 编程艺术》 ——笔记

以下只是个人的读书笔记,限于本人的知识局限性,可能有偏差.请见谅,欢迎指出问题. 1.本书的名字就是<JavaScript DOM 编程艺术>,那么首先什么是DOM呢? DOM-Document Object MOdel,按字面上的意思翻译就是文本对象模型.“W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容.结构和样式.” 它将网页抽象成一个节点树: <!DOCTYPE html> <html lang="en&