学习要点:
1.创建节点
2.插入节点
3.包裹节点
4.节点操作
DOM 中有一个非常重要的功能,就是节点模型,也就是 DOM 中的“M” 。页面中的元素结构就是通过这种节点模型来互相对应着的,我们只需要通过这些节点关系,可以创建、插入、替换、克隆、删除等等一些列的元素操作。
一.创建节点
为了使页面更加智能化,有时我们想动态的在 html 结构页面添加一个元素标签,那么在插入之前首先要做的动作就是:创建节点。
var box = $('<div id="box">节点</div>'); //创建一个节点 $('body').append(box); //将节点插入到<body>元素内部
二.插入节点
在创建节点的过程中,其实我们已经演示怎么通过.append()方法来插入一个节点。但除了这个方法之余呢,jQuery 提供了其他几个方法来插入节点。
$('div').append('<strong>节点</strong>'); //向 div 内部插入 strong 节点 $('div').append(function (index, html) { //使用匿名函数插入节点,html 是原节点 return '<strong>节点</strong>'; }); $('span').appendTo('div'); //讲 span 节点移入 div 节点内 $('span').appendTo($('div')); //同上 $('div').prepend('<span>节点</span>'); //将 span 插入到 div 内部的前面 $('div').append(function (index, html) { //使用匿名函数,同上 return '<span>节点</span>'; }); $('span').prependTo('div'); //将 span 移入 div 内部的前面 $('span').prependTo($('div')); //同上
$('div').after('<span>节点</span>'); //向 div 的同级节点后面插入 span $('div').after(function (index, html) { //使用匿名函数,同上 return '<span>节点</span>'; }); $('div').before('<span>节点</span>'); //向 div 的同级节点前面插入 span $('div').before(function (index, html) { //使用匿名函数,同上 return '<span>节点</span>'; }); $('span').insertAfter('div'); //将 span 元素移到 div 元素外部的后面 $('span').insertBefore('div'); //将 span 元素移到 div 元素外部的前面
三.包裹节点
jQuery 提供了一系列方法用于包裹节点, 那包裹节点是什么意思呢?其实就是使用字符
串代码将指定元素的代码包含着的意思。
$('div').wrap('<strong></strong>'); //在 div 外层包裹一层 strong $('div').wrap('<strong>123</strong>'); //包裹的元素可以带内容 $('div').wrap('<strong><em></em></strong>'); //包裹多个元素 $('div').wrap($('strong').get(0)); //也可以包裹一个原生 DOM $('div').wrap(document.createElement('strong')); //临时的原生 DOM $('div').wrap(function (index) { //匿名函数 return '<strong></strong>'; }); $('div').unwrap(); //移除一层包裹内容,多个需移除多次 $('div').wrapAll('<strong></strong>'); //所有 div 外面只包一层 strong $('div').wrapAll($('strong').get(0)); //同上 $('div').wrapInner('<strong></strong>'); //包裹子元素内容 $('div').wrapInner($('strong').get(0)); //DOM 节点 $('div').wrapInner(function () { //匿名函数 return '<strong></strong>'; });
注意:.wrap()和.wrapAll()的区别在前者把每个元素当成一个独立体,分别包含一层外层;后者将所有元素作为一个整体作为一个独立体,只包含一层外层。这两种都是在外层包含,而.wrapInner()在内层包含。
四.节点操作
除了创建、插入和包裹节点,jQuery 还提供了一些常规的节点操作方法:复制、替换和删除节点。
//复制节点 $('body').append($('div').clone(true)); //复制一个节点添加到 HTML 中
注意:clone(true)参数可以为空,表示只复制元素和内容,不复制事件行为。而加上 true参数的话,这个元素附带的事件处理行为也复制出来。
//删除节点 $('div').remove(); //直接删除 div 元素
注意:.remove()不带参数时,删除前面对象选择器指定的元素。而.remove()本事也可以带选择符参数的,比如:$('div').remove('#box');只删除 id=box 的 div。
//保留事件的删除节点 $('div').detach(); //保留事件行为的删除
注意:.remove()和.detach()都是删除节点,而删除后本身方法可以返回当前被删除的节点对象,但区别在于前者在恢复时不保留事件行为,后者则保留。
//清空节点 $('div').empty(); //删除掉节点里的内容
//替换节点 $('div').replaceWith('<span>节点</span>'); //将 div 替换成 span 元素 $('<span>节点</span>').replaceAll('div'); //同上
注意:节点被替换后,所包含的事件行为就全部消失了。
相关推荐
在本章“第06章 DOM节点操作(上)”中,我们将深入探讨Document Object Model(DOM)在JavaScript中的应用,以及如何通过DOM接口来操纵HTML或XML文档的结构、内容和样式。DOM是一种标准,它允许编程语言与网页内容...
DOM节点操作是前端开发中的核心技能,对创建交互式网页至关重要。 一、节点类型 DOM中的每个元素都是一个节点,包括元素节点、属性节点、文本节点等。元素节点(如`<div>`、`<p>`)是文档结构的主要构成部分,属性...
在提供的"第6章 DOM节点操作.pdf"中,可能详细解释了上述各个知识点,并通过实例代码`code1`和`code2`进行了演示。对于初学者来说,这些资源将有助于理解和实践jQuery的DOM操作,提升Web开发技能。记得结合实际项目...
以上知识点涵盖了文件提供的关于JavaScript中DOM节点插入操作的主要概念和技术细节。掌握这些知识点,能够帮助开发者更有效地在Web页面上动态地添加、删除和修改节点,从而实现更丰富的用户交互和更动态的内容展示。
DOM提供了一系列方法来操作这些节点,如`createElement`和`appendChild`用于创建和添加新元素,`replaceChild`用于替换节点,`firstElementChild`和`lastElementChild`用于访问元素子节点,以及`nextElementSibling`...
8. **DOM1与DOM2/3的区别**:尽管DOM11这个术语可能是指DOM1的一个扩展,实际上DOM1主要关注基本的节点操作,而DOM2引入了样式和事件接口,DOM3则增加了更多的功能,如XML支持和文档加载。 在实际项目中,掌握DOM...
超全面javaweb教程第6天-_12_使用dom4j实现删除节点的操作
在JavaScript中,我们经常需要对DOM节点进行集合操作,这就涉及到了数组方法。尽管DOM节点集合本身并不是真正的数组,但它们具有类似数组的特性,可以使用数组的一些方法。例如: 1. `forEach()`:遍历DOM节点集合...
超全面javaweb教程第6天-_08_使用dom4j实现在末尾添加节点的操作
本文将深入探讨基本的DOM节点操作,帮助开发者更好地理解和应用这些操作。 1. **获取元素节点** - `getElementById()`:这是最直接的方法,通过元素的唯一ID来获取指定元素。例如,`document.getElementById('...
计算机应用技术第6章-DOM编程 本章节主要讲解了DOM编程的基本概念和应用,包括DOM树结构、节点类型、节点关系、DOM标准接口、Core DOM和HTML DOM的使用等。通过学习本章节,读者可以了解DOM模型的基本概念、DOM树...
5. **遍历DOM树**:DOM节点之间存在父子关系,`element.children`返回子元素数组,`element.parentNode`指向父元素,`element.previousSibling`和`element.nextSibling`则指向相邻的兄弟节点。 6. **CSS操作**:...
6. **遍历DOM树**:`childNodes`属性返回元素的所有子节点,而`firstChild`和`lastChild`分别指向第一个和最后一个子节点。`nextSibling`和`previousSibling`用于遍历同一级别的相邻元素。 **王兴魁老师的AJAX视频*...
超全面javaweb教程第6天-_09_使用dom4j实现在在特定位置添加节点的操作
6. `document.createTextNode(text)`: 创建包含文本的新文本节点。 7. `document.appendChild(node)`: 把一个节点添加到父节点的子节点列表末尾。 8. `document.removeChild(node)`: 删除给定的子节点。 9. `...
2. **节点操作**:在DOM模型中,每个元素、属性、文本等都是一个节点。你可以使用`获取子节点`、`获取父节点`、`获取兄弟节点`等命令来遍历和访问这些节点。对于节点的修改,可以使用`设置节点值`、`添加子节点`、`...
### JavaScript 节点操作详解 #### 一、概述 JavaScript 的 DOM (文档对象模型) 是一种用于 HTML 和 XML 文档的标准对象模型。通过 DOM,开发者可以改变文档的结构、样式以及内容。本文将深入探讨 DOM 中的关键...
2. 节点操作: - 获取根节点:`Document`对象的`getDocumentElement()`方法可获取XML文档的根节点。 - 遍历节点:可以使用`NodeList`和`Node`接口遍历和访问所有子节点。例如,`getElementsByTagName()`返回指定...
2. **dojo.NodeList**: dojo.query返回的是一个dojo.NodeList对象,它扩展了Array原型,提供了许多便利的方法,如`forEach`、`filter`、`map`等,使得遍历和操作DOM节点变得更加简单。此外,NodeList还支持样式操作...
6. **DOM操作进阶** - `createDocumentFragment()`:创建一个文档碎片,用于高效地批量添加元素。 - `cloneNode()`:复制节点及其所有子节点。 - `querySelectorAll()`结合`forEach()`可以实现高效的遍历和操作...