这一篇主要说明动态创建节点。
innerHTML属性
属性innerHTML可以用来读、写某给定元素里面的HTML内容。并非DOM标准里面的部分,而是HTML的专有属性。
例如:节点testdiv如下,则testdiv.innerHTML的值是<p>This
is <em>my</em> content.</p>。
<div id="testdiv">
<p>This is <em>my</em> content.</p>
</div>
由上得,innerHTML属性无细节可言,要想获得细节,就必须使用DOM方法和属性。
在需要把一大段HTML内容插入网页时,innerHTML属性更适用。它既支持读取,又支持写入。
若给testdiv插入一段代码,可写:testdiv.innerHTML=”<p>This is <em>my</em>
content.</p>”。
【注意】innerHTML属性不会返回任何对刚插入的内容的引用。若想对刚插入的内容进行处理,则需要使用DOM提供的那些精确地方法和属性。浏览器在呈现正宗的XHTML(即MIME类型是application/xhtml+xml的XHTML文档)时会直接忽略掉innerHTML属性。
在DOM看来,一个文档就是一棵节点树,若想在节点树上添加内容,就必须插入新的节点。但不会对源文档产生改变。这种“表里不一”的特点在前面也说过滴。
方法createElement创建新的节点
var para = document.createElement("p");<!--[endif]-->
创建的只是文档碎片,需调用appendChild方法将其添加进节点树。
方法appendChild插入节点
parent.appendChild(child);
方法createTextNode创建文本节点
var text = document.createTextNode("Hello World!");
para.appendChild(text);
方法insertBefore
把一个新元素插入到一个现有元素的前面。
parentElement.insertBefore(newElement, targetElement);
在DOM里,元素节点的父元素必须是另一个元素节点(属性节点和文本节点的子元素不允许是元素节点)。
然则,文本节点的父元素可以是文本节点吗?证明之~
function test()
{
//文本节点上可以继续加文本节点
var bodyNode = document.getElementsByTagName("body")[0];
var para = document.createElement("p");
bodyNode.appendChild(para);
var text = document.createTextNode("Hello World!");
para.appendChild(text);
para.appendChild(document.createTextNode("test"));
//结果是Hello World!test
}
所以,可以在文本节点上再加文本节点。
方法insertAfter
把一个新元素插入到一个现有元素的后面。DOM本身没有提供此方法,需要自己来写。
function insertAfter(newElement, targetElement)
{
var parentElement = targetElement.parentNode;
if(parentElement.lastChild == targetElement)
{
parentElement.appendChild(newElement);
}
else
{
parentElement.insertBefore(newElement, targetElement.nextSibling);
}
}
分享到:
相关推荐
JavaScript之DOM事件(源代码)JavaScript之DOM事件(源代码)JavaScript之DOM事件(源代码)JavaScript之DOM事件(源代码)JavaScript之DOM事件(源代码)JavaScript之DOM事件(源代码)JavaScript之DOM事件(源...
JavaScript_DOM编程艺术第二版(中文),欢迎下载,111111111111111111111
Javascript操作XML Dom学习资料
javascript中dom的基础概念
JavaScript基础和DOM API函数
javascript_DOM,javascript_DOM,javascript_DOM,javascript_DOM
经典之作《javascript dom编程艺术》源码。通过一个实际案例,讲述了原生的javascript操作dom的使用方法,以及操作dom中应该注意的一些事项。
第1章 JavaScript简史 1.1 JavaScript的起源 1.2 DOM 1.3 浏览器战争 1.3.1 DHTML 1.3.2 浏览器之间的冲突 1.4 制定标准 1.4.1 浏览器以外的考虑 1.4.2 浏览器战争的结局 1.4.3 崭新的起点 1.5 小结 第2章 ...
JavaScript.DOM编程艺术(第2版)附录及源码,JavaScript.DOM编程艺术(第2版)附录及源码
本书是超级畅销书的升级版,由倡导Web标准的领军人物执笔,揭示了前端开发的真谛,是学习JavaScript和DOM开发的必读之作。 本 书在简洁明快地讲述JavaScript和DOM的基本知识之后,通过几个实例演示了专业水准的网页...
本书讲述了JavaScript、DOM和HTML5的基础知识,着重介绍了DOM编程技术背后的思路和原则:平稳退化、渐进增强和以用户为中心等。这些概念对于任何前端Web开发工作都非常重要。本书将这些概念贯穿在书中的所有代码示例...
javaScript-DOM编程艺术javaScript-DOM编程艺术javaScript-DOM编程艺术javaScript-DOM编程艺术
JavaScript获取HTMLDOM节点元素的方法的总结
JavaScriptDOM编程艺术(第2版)PDF版本下载
资源名称:JavaScript DOM高级程序设计内容简介:本书注重理论与实践的结合,全面讲述高级的DOM 脚本编程。全书分为3 个部分:第一部分“深入理解DOM 脚本编程”,涉及W3C DOM 规范的各方面,包括非标准的浏览器支持...
JavaScript DOM编程艺术第二版,最适合新手入门的JavaScript书籍。
韩顺平老师的javascript笔记 包括基础语法 javascript面向对象编程 dom编程
JavaScript DOM编程艺术 --全
JavascriptDOM基本操作 dom 精品操作