常用函数:
createElement 创建元素(不会立即显示,必须绑定到某个父节点上)
createTextNode 创建文本节点(不会立即显示,必须绑定到某个父节点上)
insertBefore 将一个元素插入到父节点下的某个元素之前(插入后浏览器即时渲染)
appendChild 将一个元素添加到父节点下的最后位置(插入后浏览器即时渲染)
removeChild 从父节点中删除一个节点(删除后浏览器即时渲染)
以下为《精通JavaScript》中提供的函数
function checkElem(elem) {
//如果只提供字符串,则把它转化为文档节点
return elem && elem.constructor == String ? document.createTextNode(elem) : elem;
};
function append(parent, elem) {
parent.appendChild(checkElem(elem));
};
function before(parent, before, elem) {
//如果只传入了两个参数,那么需要获取第一个参数的父节点以使用inserBefore函数
if(elem == null) {
elem = before;
before = parent;
parent = before.parentNode;
}
parent.insertBefore(checkElem(elem), before);
};
elem && elem.constructor == String …… 这里的运算顺序是 elem && ( elem.constructor == String ) ……
另外,直接从innerHTML插入具有更高的效率,但是XML不支持innerHTML属性。
如果要传入的elem参数是一个DOM节点和HTML字符串的混合数组,改进函数如下:
function checkElem(a) {
var r = [];
//如果参数不是数组,强行转换
if (a.constructor != Array)
a = [a];
for (var i = 0; i < a.length; i++) {
if (a[i].constructor == String) {
//用一个临时变量存放HTML
var div = document.createElement("div");
//注入HTML,转换成DOM结构
div.innerHTML = a[i];
//提取DOM结构到临时div中
for (var j = 0; j < div.childNodes.length; j++)
r[r.length] = div.childNodes[j];
}
else if (a[i].length) {
// 假定是DOM节点数组
for (var j = 0; j < a[i].length; j++)
r[r.length] = a[i][j];
}
else {
//否则假定是DOM节点
r[r.length] = a[i];
}
}
return r;
};
function before(parent, before, elem) {
//检查是否提供parent节点参数
if (elem == null) {
elem = before;
before = parent;
parent = before.parent;
}
//获取元素的新数组
var elems = checkElem(elem);
//向后遍历数组,因为我们向前插入元素
for (var i = elems.length - 1; i >= 0; i--) {
parent.insertBefore(elems[i], before);
}
};
function append(parent, elem) {
var elems = checkElem(elem);
for (var i = 0; i < elems.length; i++) {
parent.appendChild(elems[i]);
}
};
最后再补充两个函数:
function remove(elem) {
if (elem)
elem.parentNode.removeChild(elem);
}
function empty(elem) {
while(elem.firstChild)
remove(elem.firstChild);
}
http://www.cnblogs.com/zhengchuyu/archive/2008/07/23/1249951.html
分享到:
相关推荐
但根据标题和描述提供的信息,我可以为您概述“JavaScript DOM编程艺术”这本书的一些核心知识点。以下内容是基于这本书中可能涉及的主题和内容进行的假设性介绍: 1. JavaScript基础知识:学习DOM编程之前,首先要...
JavaScript DOM(Document Object Model)是用于操作HTML和XML文档的标准接口。它允许程序和脚本动态更新、添加或删除页面中的元素和...掌握DOM操作是任何JavaScript开发者必备的技能之一,尤其是在进行前端开发时。
读书笔记:Javascript基础总结Dom事件原生函数正则
### JavaScript DOM 编程艺术读书笔记关键知识点解析 #### 一、JavaScript简史与相关技术简介 - **XHTML(可扩展的超文本标记语言)**:这是一种更加严格、更加强大的HTML版本,旨在提高网页的可读性和可扩展性。 ...
从菜鸟教程上学习的关于js的学习笔记,可以用于参考学习使用,脑图样式,浏览更方便,有需要的同学可以带走
JavaScript通过DOM API可以操作页面上的元素,例如通过`document.getElementById`、`document.querySelector`或`document.querySelectorAll`找到特定元素,通过`innerHTML`、`innerText`或`textContent`修改元素内容...
在这个学习笔记中,涵盖了从基础到高级的JavaScript和DOM操作技巧,一共涉及1~9章的内容。以下是对这些章节知识点的详细阐述: **第1章:JavaScript简介** 本章介绍了JavaScript的基本概念,包括它是一种解释型、弱...
根据提供的文件信息,我们可以总结出以下几个关键的知识点: ... 在JavaScript中,可以通过多种方式来获取HTML文档中的元素。...这些方法在实际开发中非常常见且实用,掌握它们将有助于更好地理解和使用JavaScript与DOM。
JavaScript可以用来动态地修改文档对象模型(DOM),从而改变网页的内容或布局。 **示例6:** ```html ('Down!')">Click ('Click!')">Click ``` - **解释:** 第一个链接在鼠标按下的时候会在页面上输出`Down!`;第二...
### JavaScript DOM 学习笔记知识点总结 #### 一、DOM基础概述 DOM(Document Object Model)文档对象模型是一种处理可扩展标记语言的标准编程接口。它提供了结构化文档(如HTML和XML)的标准方法来访问、修改文档...
【狂神说系列 JavaScript笔记】是一份全面且深入的JavaScript学习资源,旨在帮助开发者和初学者深入理解这门广泛应用于Web开发的脚本语言。这份笔记涵盖了JavaScript的基础语法、核心概念以及高级特性,旨在构建一个...
总的来说,JavaScript DOM编程艺术这本书涵盖了JavaScript基础、DOM操作以及实际应用,是学习网页动态交互和JavaScript编程的重要资源。通过学习,开发者能够熟练地创建交互式、动态的网页内容。
通过以上分析,我们了解了DOM的基本操作,包括选择和修改DOM节点,动态生成DOM结构,以及响应用户事件。这些是前端开发中非常核心的技能,掌握它们能够帮助开发者创建更加动态和交互丰富的网页应用。同时,对`this`...
### JavaScript 学习笔记1:数组、DOM与BOM简要总结 #### 数组方法概述 在JavaScript中,数组是一种非常重要的数据结构,用于存储多个值。数组对象提供了多种方法来帮助我们操作数组中的元素。 - **pop()**:从...
- DOM操作:查找、创建、修改和删除DOM元素,以及DOM遍历。 7. **ES6新特性** - 类和模块:ES6引入了类的语法糖和模块系统,使得代码组织更加规范。 - 解构赋值:从数组或对象中提取值并赋给变量的新方法。 - ...
这个菜鸟的笔记里面没有谈到JavaScript中的对象,比如说时间对象和字符串对象,这些内容可以在“菜鸟的JavaScript对象笔记”中找到。不过因为小菜鸟个人认为HTML DOM比其它的JavaScript对象更常用一些(不过这可不...
JavaScript与网页的交互主要依赖于DOM(Document Object Model)和BOM(Browser Object Model)。DOM提供了对网页内容进行操作的对象,而BOM则允许开发者控制浏览器的某些特性,如窗口、历史记录和导航。 在HTML中...
移动开发小白树懒,正在迈向远大的自己而现在努力的打下基础.JavaScript的DOM的高级部分.
本资源摘要信息基于黑马视频记录的学习笔记,涵盖了 JavaScript 基础知识点,包括 HTML、CSS、JavaScript、DOM、事件处理等内容。 HTML 和 CSS 基础 * HTML 结构:head、body、title、meta、link、script 等标签的...
以上是JavaScript学习笔记中提到的一些核心知识点,通过对这些知识点的理解和熟练应用,可以为进一步学习和掌握JavaScript打下坚实的基础。在实际开发过程中,结合具体的项目需求,这些知识会得到更深入的拓展和应用...