JavaScript高级程序设计22.pdf
操作节点
appendChild()用于向childNodes列表末尾添加一个节点,appendChild()返回新增的节点
var returnedNode=someNode.appendChild(newNode);
alert(returnedNode==newNode); //true
alert(someNode.lastChild==newNode); //true
如果传入到appendChild()中的节点已经是文档的一部分了,结果会将该节点从原来位置转移到新的位置
insertBefore()接受2个参数,要插入的节点和作为参照的节点,被插入的节点会变成参照节点前一个同胞节点,如果参照节点为null,则insertBefore()与appendChild()执行相同的操作
replaceChild()接收2个参数,要插入的节点和要替换的节点
removeChild()接收一个参数,即要移除的节点,被移除的节点将成为这个方法的返回值
要使用这几个方法必须先取得父节点,在不支持子节点的节点类型调用以上方法会导致错误发生
其它方法
有2个方法是所有节点都有的,一个是cloneNode(),创建调用这个方法的节点完全相同的副本,它接收一个布尔值参数,true表示深复制,也就是复制节点及其整个子节点树,false执行浅复制,只复制节点本身,复制后返回的节点副本属于文档所有,但还要为其指定父节点添加到文档中
还有一个方法是normalize(),它用来处理文档树中的文本节点,将空文本节点删除,将两个相邻的文本节点合并为一个文本节点
Document类型
JavaScript通过Document类型表示文档,document对象是window对象的一个属性,可以作为全局对象来访问,Document节点具有以下特征:
nodeType的值为9;
nodeName的值为“#document”;
nodeValue的值为null;
parentNode的值为null;
ownerDocument的值为null;
document对象是HTMLDocument的实例
有2个内置的访问其子节点的快捷方式,第一个是documentElement属性,该属性始终指向HTML页面中的<html>元素,另一个就是通过childNodes列表访问文档元素,通过documentElement属性更快更直接
<html>
<body>
</body>
</html>
var html=document.documentElement; //取得对<html>的引用
alert(html===document.documentElement); //true
alert(html===document.firstChild); //true
作为HTMLDocument的实例,document对象还有一个body属性,直接指向<body>元素
var body=document.body; //取得对<body>的引用
所有浏览器都支持document.body和document.documentElement属性
Document另一个可能的子节点是DocumentType,通过doctype属性(document.doctype)来访问它的信息
var doctype=document.doctype; //取得对<!DOCTYPE>的引用
不同的浏览器对document.doctype支持差别很大
JavaScript高级程序设计22.pdf的更多相关文章
- JavaScript高级程序设计61.pdf
JSON对象 早期的JSON解析器就是使用JavaScript的eval()函数,ECMAScript5对解析JSON的行为做出了规定,定义了全局对象JSON. JSON对象有2个方法:stringi ...
- JavaScript高级程序设计60.pdf
错误处理 try-catch语句 try{ //可能会导致错误的代码 }catch(error){ //在错误发生时如何处理 } error是一个包含着错误信息的对象,它有一个message属性,保存 ...
- JavaScript高级程序设计58.pdf
15章 使用Canvas绘图 略 16章 HTML5脚本编程 HTML5规范了新的HTML标记和JavaScript API,以便简化创建动态Web界面的工作 跨文档消息传递 简称XDM,指来自不同域 ...
- JavaScript高级程序设计57.pdf
表单序列化 首先了解一下浏览器如何将数据发送给服务器 对表单字段的名称和值进行URL编码,使用和号(&)分隔 不发送禁用的表单字段 只发送勾选的复选框和单选按钮 不发送type为“reset” ...
- JavaScript高级程序设计55.pdf
输入模式 HTML5为文本字段新增了pattern属性,这个属性的值是一个正则表达式,用于匹配文本框中的值 例如,只想在允许在文本字段中输入数值 <input type="text&q ...
- JavaScript高级程序设计54.pdf
过滤输入 对于一些浏览器,可以使用正则表达式里的text()测试用户按下的按键,Firefox和safari(3.1版本之前)会对向上向下.退格键和删除键触发keypress事件,在Firefox中, ...
- JavaScript高级程序设计53.pdf
共有的表单字段方法 每个表单字段都有两个方法:focus()和blur(),其中focus()用于将浏览器焦点设置到表单字段,激活表单字段.可以侦听页面的load事件 EventUtil.addHan ...
- JavaScript高级程序设计52.pdf
表单脚本 表单的基础知识 在HTML中,表单是由<form>元素表示的,在Javascript对应的是HTMLFormElement类型,它继承自HTMLElement,因此具有与其他HT ...
- JavaScript高级程序设计50.pdf
hashchange事件 HTML5新增了hashchange事件,以便在URL的参数列表(及URL中“#”号后面的所有字符串)发生变化时通知开发人员,之所以新增这个事件,是因为在Ajax应用中,开发 ...
随机推荐
- 【ADO.NET】8、DataSet的使用
一.DataSet的查询 SqlDataReader 适用于大型数据的读取,它是一条一条的读取,读取出来的数据是存放在服务器上当正在读取数据的时候,突然与服务中断,将无法读取后面的数据DataSet ...
- 『奇葩问题集锦』Zepto 页面唤醒拨号功能点透
不废话直接上代码: HTML: <a class="js-tel tel" data-tel="1312414"></a> JS: // ...
- 【python】元组的插入
>>> temp=(1,2,3,4,5)>>> temp=temp[:2]+(8,)+temp[2:]>>> temp(1, 2, 8, 3, 4 ...
- CCTV评论员评论步行者与奇才的比赛
步行者客场迎战主场作战的奇才,奇才的战士可能由于过度兴奋或是过度紧张身体僵硬,本来能打进的球都失掉了.反而,由于步行者取得了两位数的领先,越大心情越放松,打出了过去很少见的流畅局面. CCTV评论员就 ...
- AppStore 审核中文版 --- 程序员必看
App Store审核指南中文版(2014.10.11更新) 2014-11-03 程序猿 苹果在9月3日对App Store审核指南进行了重大更新,新添加了扩展.HealthKit.HomeKit以 ...
- 避免eclipse下启动run就进入debug模式
分析原因:可能是eclipse的一个bug 解决方法:进入手机开发者模式设置,关闭usb调试和开发者模式,再重新打开即可.
- 如何开启PDO,PDO_MYSQL扩展
开启这个功能的具体方法就是设置php.ini文件,步骤如下: 1.查看public_html目录下没有php.ini文件,如果有的, 打开文件查找 extension=php_pdo_mysql.dl ...
- csu 10月 月赛 F 题 ZZY and his little friends
一道字典树异或的题,但是数据比较水,被大家用暴力给干掉了! 以前写过一个类似的题,叫做the longest xor in tree: 两个差不多吧! 好久没写字典树了,复习一下! 代码: #incl ...
- java service
http://www.regexlab.com/zh/jar2exe/demo1.htm http://www.zhangxinxu.com/wordpress/?p=1058 http://www. ...
- Qt之自定义插件(for Qt Designer)
之前Blog里面有关于QWT的编译.配置.使用的文章,分别是在VS与Creator下进行的. QWT编译.配置.使用(VS2010 + Qt5.1.0). QWT编译.配置.使用(Qt Creator ...