本人在大约接近一年的时间以前购买了关于JavaScript的一些书籍,包括比较有名的《JavaScript高级程序设计》以及《JavaScript DOM 编程艺术》,还有其他的一些!
刚刚看完这本《JavaScript DOM 编程艺术》寻思写点儿东西,给想要购买的小伙伴们一些建议!

这本书适合刚刚入门DOM操作的人,是一本比较详细和基础的入门书。自己看完感觉还是不错的,但是这本书的出版时间是2011年3月,时间上看已经比较久远了,所以很多的方法都有些过时,但是作者谨慎的编程方式,滴水不漏的写法还是让人感觉很棒!
里面的一些重点我也整理成了文档,下面就是个人的一些小笔记!

DOM(document object model)文档对象模型

JavaScript嵌入HTML文档中的方法主要是三种
1.直接添加到head标签中的script标签内
2.使用外部文件的方式,在head标签的script标签内添加src指向特定的js文件
3.使用script标签将外部文件/直接代码嵌入到HTML中body标签的最下面

对象分为内建对象和宿主对象:
内建对象:直接使用new操作符进行声明,创造出的对象
宿主对象:是在JavaScript脚本中预先定义好的对象,比如from、image等

节点分为多种:
文本节点:也就是包含文本的标签引出的节点
元素节点:标签的名字就是元素的名字,也就是标签
属性节点:在标签中,存在着各种的属性,这也可以被获得

获取节点的方式:
getElementById( ); 使用该方法获取到给定id的节点
getELementsByTagName( ); 获取到文档中某一个标签节点的全部
getElementsByClassName( ); 获取到给定class的节点
childNodes( ); 获取一个节点的所有子节点
firstChild( ); 获取第一个子节点
lastChild( ); 获取最后一个子节点

设置节点的属性:
object.getAttribute(“attribute”); 获取到object节点类型的attribute属性
Object.setAttribute( “attribute”, “value”); 改变object节点内attribute属性的value值
nodeType; 获取节点的类型,元素节点:1、属性节点:2、文本节点:3
nodeValue; 获取文本节点的值,但是注意获取的对象需要精确到该文本内
innerHTML; 可以读/写给定元素内的HTML内容

创建节点的属性:
document.createElement(“nodeName”); 创建一个nodeName节点元素
document.createTextNode(“txt”); 创建一个文本节点

插入节点:
object.appedChild(object); 将一个节点插入到另一个节点的子节点上
Object.insertBefore(newElement, tagetElement); 将新节点插入到旧节点的前面

object.insertAfter(newElement, tagetElement){  //获取新节点和原有节点var parent = targetElement.pargetNode;     //获取原有节点的父节点if(parent.lastChild == targetElement){     //判断父节点的最后一个子节点是不是原有节点parent.appenChild(newElement);         //是就直接插入最后}else{parent.insertBefore(newElement, targetElement.nextSibing);  }                                          //不是就将新节点插入原节点的下一个兄弟节点的前面
}

自定义insertAfter( ); 将新节点插入到旧节点的后面

事件处理函数:
onmouseover事件:鼠标悬停在元素上时触发
onclick事件:鼠标点击时触发的事件
Onmouseout事件:鼠标离开时触发的事件

JavaScript兼容写法,注意支持“平稳退化”功能,也就是当浏览器不支持JavaScript脚本时,也能正常浏览网站。
很多时候需要判断一个对象是否存在,然后再对该对象进行操作

function a(){if( document.getElementById ){             //判断浏览器是否支持JavaScriptif( document.getElementById(“div”) ){  //判断是否存在该节点//操作}}
}

出于性能考虑的因素,当js代码中需要访问DOM结构时,尽量将该节点元素放置在一个变量上,调用时也仅调用该变量。循环调用DOM对于浏览器性能要求极高,每次调用DOM,浏览器都会搜索整个DOM数。
代码压缩工具:
Douglas crockford 的JSMin ( http://www.crockford.com/javascript/jsmin.html )

文档中的每一个元素节点都存在一个style属性,该属性可以在DOM层面改变前面CSS层设置的属性。
Style属性只能获取和修改HTML层内嵌的style属性,对于外部文件的CSS和head中style标签获取不到!
当需要引用CSS中带有中间连接线的属性是,DOM推荐采用驼峰写法,有些浏览器在DOM层使用连接线写法无法识别。

CSS中overflow属性:visible(不裁剪溢出)、hidden(裁剪溢出)、scroll(隐藏溢出,并添加滚动条)、auto(自适应)

onload事件:(书中比较经典的一个封装方法)

function onload( func ){                           //加载到即触发var oldonload = window.onload;             //获取到window内的onload方法if( typeof window.onload != ‘function’ ){  //判断处理函数有没有绑定函数window.onload = func;                //没有就直接添加进去}else{window.onload = function( ) {         //有就添加进现有指令的末尾oldonload( );func( );}}
}

除了上面写的onload事件意外,书中还有一些封装好的方法,但是鉴于现在有了更新的方法使用,所以个人就不一一都打出来了,有兴趣的朋友可以找来这本书看看!

关于JavaScript DOM 编程艺术这本书相关推荐

  1. JavaScript Dom编程艺术

    当我对JavaScript还停留在只认识这几个字母的时候,有一天我突然心血来潮,在网上下了DOM Scripting的样章,照着里面的例子写了我平生第一个能让我知所以然JavaScript,在浏览器运 ...

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

    嗯,经过了一周的时间,今天终于将<JavaScript DOM编程艺术(第2版)>这本书看完了,感觉受益匪浅,我和作者及出版社等等都不认识,无意为他们做广告,不过本书确实值得一看,也值得推 ...

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

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

  4. 初读JavaScript DOM编程艺术(一)

    JavaScript DOM编程艺术--前三章概念总结 一. 概述 1.什么是JavaScript 2.什么是DOM 二. JavaScript 语法 1. 语句和注释 2. 变量和数组 三. DOM ...

  5. 重读《JavaScript DOM编程艺术》(第一版)

    今天来了雅兴去图书馆看书.把<JavaScript DOM编程艺术>温习了一遍,平时写js的机会不是特别多,很多知识都有些模糊了. 伴随着身边键盘卡啦卡啦的声音,一位手速不是一般的快的程序 ...

  6. 《JavaScript DOM 编程艺术》读书笔记

    <JavaScript DOM 编程艺术>读书笔记--其一 第二章 1.Javascript代码编写方式: (1)将JavaScript代码放在文档<head>标签中的< ...

  7. JavaScript DOM编程艺术(第二版)

    JavaScript DOM编程艺术简要介绍 第二章: JavaScript语法 语法 语句 注释 变量 数据类型 数组 对象 操作 条件语句 比较操作符 逻辑操作符 循环语句 while循环 for ...

  8. JavaScript DOM 编程艺术 (第二版)学习之5-6章

    JavaScript DOM 编程艺术 (第二版)学习之5-6章 第五章 最佳实践 5.1 过去的错误 5.2 平稳退化 5.2.1 "javascript:"伪协议 5.2.2 ...

  9. JavaScript DOM 编程艺术 (第二版)学习之3-4章

    JavaScript DOM 编程艺术 (第二版)学习之3-4章 第三章 DOM 3.1 文档:DOM中的"D" 3.2 对象:DOM中的"O" 3.3 模型: ...

  10. JavaScript DOM编程艺术简略笔记

    简略目录 1.BOM 2.DHTML 3.数组 4.条件判断的注意点 5.函数中变量的作用域问题 6.几种对象的简介 7.BOM和DOM 8.DOM操作中的一些特别点 9.JS文件与CSS文件的引入方 ...

最新文章

  1. CentOS安全配置(转)
  2. 性能优化:实现动画效果优先考虑css的transition
  3. tableau2020.2版本可视化数据分析 新功能介绍
  4. 发展医疗大数据 需捅破各层窗户纸
  5. 如何解决win10+VS2017+WDK环境下编译C++程序提示error LNK1104无法打开文件*.lib的问题
  6. 人是不是不应该善良?
  7. 基于JAVA WEB的网上书店的设计与实现
  8. ubuntu安装xp字体
  9. githut管理vs2012代码
  10. 100种网站推广方法全集
  11. 吴莫愁新专辑出炉 承认哈林老师是她生命中的贵人
  12. Jenkins邮箱配置中,使用SSL连接的问题
  13. PHP正则表达式提取html超链接中的h…
  14. python变量命名为什么不能以数字开头
  15. Win10应用程序无法正常启动 提示0xc0000142怎么解决?
  16. arcgis10.2以上dbf用excel打开中文乱码问题(10.8为例)
  17. 存储在icloud云盘文件夹顶层_iCloud云盘文件夹共享功能使用方法
  18. mysql查询计算机系信息_在学生管理数据库中查询通信系和计算机系的所有教师信息...
  19. 程序员的终极思维方式:系统论
  20. 【vite+vue3.0】基于vite写一个将md文件渲染为js文件的插件

热门文章

  1. 小马Win7永久激活工具—OemY3.1 NT6通用完美激活
  2. Java读取mapinfo格式_mapInfo文件格式详解
  3. 快速下载【百度文库】文档
  4. 车牌识别 android,Android tess-two车牌识别
  5. 软件园区网络设计之网络详细设计
  6. MySQL数据库安装超级详细教程
  7. java彩票程序_java程序设计 彩票购买抽奖程序 团队博客
  8. 基于IDEA的Spring源码调试
  9. android 盒子远程调试,家+TV机顶盒怎么开启ADB/USB远程调试模式,安装软件?
  10. Java数据结构-约瑟夫问题(Joseph环)