读《JavaScript dom编程艺术(第2版)》笔记 7

动态创建标记:

传统方法:document.write、innerHTML

document.write : 方法可以方便快捷地把字符串插入到文档里,但是缺点是违背了“行为应该与表现分离”的原则。即使把document.write语句挪到外部函数里,也还是需要在标记的<body>部分使用<script>标签才能调用那个函数。应该避免在<body>部分乱用<script>标签,避免使用document.write方法。

innerHTML:用来读、写某给定元素里的HTML内容。

<div id="text">
<p>This is <em>my</em>content.</p>
</div>

元素节点

div
<p>This is <em>my</em>content.</p>

HTML

就innerHTML属性来看,id为text的标记里面只有一个值为<p>This is <em>my</em>content.</p>的HTML字符串。

innerHTML属性是HTML专有属性,不能用于任何其他标记语言文档。

DOM方法:createElement、appendChild、createTextNode

createElement :创建一个元素节点 ,语法:document.createElement(nodeName)   eg:document.createElement("p");创建一个p元素。

appendChild :插入节点, 语法:parent.appendChild(child)

createTextNode :创建文本节点 ,语法:document.createTextNode(text)  eg:document.createTextNode("Hello world!");就会创建一个内容为”Hello World“的文本节点  。

insertBefore :将一个新元素插入到一个现有元素的前面 , 在调用这个方法时,必须得知三件事:1、新元素:你想插入的元素(newElement)  2、目标元素:想把这个新元素插入到哪个元素(targetElement)之前  3、父元素:目标元素的父元素(parentElement)   语法:patentElement.insertBefore(newElement,targetElement)   我们不必搞清楚父元素到底是哪个,因为targetElement元素的parentNode属性值就是它。  属性节点和文本节点的子元素不允许是元素节点

在现有元素后插入一个新元素:DOM中没有这个方法,但是我们可以写出这个函数

function insertAfter(newElement,targetElement){
   var parent=targetElement.parentNode;
   if(parent.lastChild==targetElement){
     parent.appendChild(newElement);
    }else{
     parent.insertBefore(newElement,targetElement.nextSibling);
   }
}

nextSibling:相同层的下一个节点,即下一个兄弟节点

时间: 2024-12-13 08:30:42

读《JavaScript dom编程艺术(第2版)》笔记 7的相关文章

javascript dom编程艺术 第2版

W3C 推出了标准化的DOM, 就是我们现在常用方法, 比如获取一个元素:document.getElementById(id) 语法用JavaScript编写的脚本,都是由一系列指令构成,这些指令叫做语句(statement). 只要按照正确的语法编写出来的语句才能得到正确的解释.JavaScript 每条语句以换行符或分号视为结束. 如下为两条语句:first statementsecond statement也可以放在一行:first statment; second statment;建

《JavaScript DOM编程艺术(第二版)》读书总结

这本书是一本很基础的书,但对于刚入前端不久的我来说是一本不错的书,收获还是很大的,对一些基础的东西理解得更加透彻了. 1.DOM即document object model的缩写,文档对象模型,JavaScript做的就是对DOM的操作,或者说对节点(node)的操作. 2.js中DOM.this这是都是对象,有属性有方法. 3.document对象有body属性,所以可以直接写成document.body,无需再获取body元素(document.getElementsByTagName("b

JavaScript DOM编程艺术(第二版)读书笔记 ——(一)

学习和工作中经常会通过搜索引擎的引导进入到博客园中,技术大牛们的知识概括往往一针见血解决了困扰我很久的大大小小的问题.可是一直都是看别人写的博客,自己一直没动过手,直到看到一个博客说到,从简到繁地记记读书笔记或知识总结是促进技术进步的一个很好的方法,觉得非常在理,学习后的整理更能记得牢固,于是最近下定决心,开始我的博客园"生活". 说了从简到繁,作为一个前端小小小小白,我决定把经典的前端书籍的读书笔记写在这里,说不定以后遗忘的时候返回来看到会有豁然开朗的感觉(偷笑). 第一章--Jav

JavaScript -- JavaScript DOM 编程艺术(第2版)

/* 渐进增强 平稳退化 网页 结构层(structural layer): HTML 表示层(presentation layer): CSS <link rel="stylesheet" href="style.css" media="screen"/> 行为层(behavior layer): JavaScript <script src="scripts.js"></script>

《JavaScript DOM 编程艺术 第 2 版》

第 5 章 最佳实践 平稳退化:现在基本所有带交互的网站都使用 Ajax,SAP 也火起来了,平稳退化真是很难实现了(看到第七章发现我之前的观点是错了) 分离 JS 向下兼容 性能考虑 第 6 章 案例研究:图片库改进版 键盘访问(提高可访问性) onclick 已经帮我们处理了,eg:下面这个绑定了 onclick 的按钮鼠标左键点击和 tab 然后回车一样弹出 "clicked" <!DOCTYPE html> <html lang="en"&

javascript DOM编程艺术中文pdf版提供

http://www.readnovel.com/novel/99350/5019.htmlhttp://www.readnovel.com/novel/99350/5020.htmlhttp://www.readnovel.com/novel/99350/5021.htmlhttp://www.readnovel.com/novel/99350/5022.htmlhttp://www.readnovel.com/novel/99350/5023.htmlhttp://www.readnovel

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

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

JavaScript DOM 编程艺术(第2版)---序中故

前言: 虽然已入行近乎一载,却还是对自己所处的职业-前端,模模糊糊,浑浑噩噩.故,不求鹤立独群,但略知一二.从<JavaScript DOM 编程艺术(第2版)>入手,打一打基础的同时,了解一下行业发展历史.多一些不明所以的坚持,少一丝追名逐利的执念. 明确词语含义: (X)HTML,DHTML 从知乎上扒来的图片: 图片出处:HTML4,HTML5,XHTML 之间有什么区别? "浏览器嗅探":用来探测浏览器的具体品牌和具体版本的测试及分支代码 DOM(Document

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

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

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

本系列的博客是由本人在阅读<JavaScript DOM编程艺术>一书过程中做的总结.前面的偏理论部分都是书中原话,觉得有必要记录下来,方便自己翻阅,也希望能为读到本博客的人提供一些帮助,所以 如果您也看过这本书,希望不要喷小的"抄袭",其实我也懒得敲这些文字也想简单粗暴地上代码,但是只有实践没有理论不容易自己理解,为避免误导,该"抄"的地方还是要"抄"的,哈哈~~ 一.JavaScript的起源 JavaScript是Netscap