这一篇主要说明动态创建节点。
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编程艺术(第2版)》是一本深入探讨JavaScript与DOM(Document Object Model)交互的权威书籍。DOM是Web开发中的核心组件,它允许程序员通过JavaScript来操作HTML和XML文档的结构、内容和样式。这本书...
根据提供的文件信息,我们可以推断出这是一本关于JavaScript DOM编程技术的书籍——《JavaScript DOM编程艺术(第2版)》。尽管实际书籍内容并未给出,但从标题、描述及部分链接信息来看,这本书主要涉及JavaScript...
javascript入门必备,本书讲述了JavaScript和DOM的基础知识,但重点放在DOM编程技术背后的思路和原则:预留退路、循序渐进和以用户为中心等,这些概念对于任何前端Web开发工作都非常重要。本书将这些概念贯穿在书中...
书中首先介绍了JavaScript的基础知识,包括变量、数据类型、函数等基本概念,为后续DOM操作打下坚实基础。接着,深入探讨了DOM API,包括元素的选取、遍历、创建和修改,以及事件处理等关键主题。通过学习这些内容,...
《JavaScript DOM编程艺术第二版高清(中文)》是一本深入探讨JavaScript、DOM(Document Object Model)和HTML5的权威指南,特别适合Web开发人员作为学习和提升技能的参考资料。本书内容丰富,涵盖了大量的实践知识...
本书是超级畅销书的升级版,由倡导Web标准的领军人物执笔,揭示了前端开发的真谛,是学习JavaScript和DOM开发的必读之作。 本 书在简洁明快地讲述JavaScript和DOM的基本知识之后,通过几个实例演示了专业水准的网页...
在JavaScript中,我们可以利用DOM API来创建、修改、删除和查找网页上的任何元素,实现动态更新和交互。 **DOM的基本操作** 1. **获取元素**: `document.getElementById()` 是最基础的获取元素方法,通过ID查找。...
《JavaScript DOM编程艺术(第二版)》是一本深入讲解JavaScript与DOM交互的权威书籍,它包含了大量的实践示例和源代码,旨在帮助读者理解和掌握如何有效地操纵网页文档对象模型(DOM)。DOM是Web开发中的核心部分,它...
2. **选择元素**:书中详细介绍了如何使用`getElementById`、`getElementsByTagName`、`getElementsByClassName`等方法以及CSS选择器来选取网页中的特定元素,这些都是JavaScript DOM编程的基础。 3. **事件处理**...
JavaScript dom操作 删除元素 示例代码JavaScript dom操作 删除元素 示例代码JavaScript dom操作 删除元素 示例代码JavaScript dom操作 删除元素 示例代码JavaScript dom操作 删除元素 示例代码JavaScript dom操作 ...
1. **DOM基础**:理解DOM的基本概念,如节点类型(元素节点、属性节点、文本节点等)、DOM树结构,以及如何通过JavaScript访问和操作这些节点。 2. **遍历DOM**:学习如何遍历DOM树,查找特定的元素,如使用`...
JavaScript DOM2是Web开发中的重要概念,它代表了Document Object Model的第二级规范,这是一个用于HTML和XML文档的标准API。这个标准由W3C(万维网联盟)制定,允许开发者通过JavaScript或者其他兼容的语言来操纵...
本文主要介绍了如何使用JavaScript来获取DOM(文档对象模型)中具有特定class的DOM元素。在讲解的过程中,涉及到JavaScript操作DOM节点的一些基本技巧和方法,如使用`getElementsByClassName`和`...
《JavaScript DOM编程艺术 第2版》是一本深入探讨JavaScript与DOM(Document Object Model)交互的权威书籍。DOM作为Web页面的结构模型,是JavaScript进行页面动态操作的核心工具。这本书全面覆盖了利用JavaScript来...
JavaScriptDOM编程艺术.中文版.完整书签 本书讲述了JavaScript和DOM的基础知识,但重点放在DOM编程技术背后的思路和原则:预留退路、循序渐进和以用户为中心等,这些概念对于任何前端Web开发工作都非常重要。本书...
书中的第二版更新了现代JavaScript语法和API的使用,如ES6的新特性,以及现代浏览器提供的DOM接口,如MutationObserver用于监听DOM变化。 本书内容可能包括以下几个方面: 1. JavaScript基础:介绍变量、数据类型...
JavaScript 和 DOM(Document Object Model)是前端开发中的基础概念,对于任何希望在网页上实现交互性的开发者来说,理解和掌握这两者至关重要。JavaScript 是一种轻量级的解释型编程语言,广泛应用于网页和网络...
本书讲述了JavaScript和DOM的基础知识,但重点放在DOM编程技术背后的思路和原则:预留退路、循序渐进和以用户为中心等,这些概念对于任何前端Web开发工作都非常重要。本书将这些概念贯穿在书中的所有代码示例中,使...