`
chaoyi
  • 浏览: 290447 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

第6章 DOM节点操作

 
阅读更多

学习要点:
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'); //同上

 
注意:节点被替换后,所包含的事件行为就全部消失了。

 

 

  • 大小: 31.4 KB
  • 大小: 31.4 KB
  • 大小: 10.9 KB
  • 大小: 28.6 KB
分享到:
评论

相关推荐

    超全面javaweb教程第6天- 12 使用dom4j实现删除节点的操作

    超全面javaweb教程第6天-_12_使用dom4j实现删除节点的操作

    超全面javaweb教程第6天- 08 使用dom4j实现在末尾添加节点的操作

    超全面javaweb教程第6天-_08_使用dom4j实现在末尾添加节点的操作

    超全面javaweb教程第6天- 09 使用dom4j实现在在特定位置添加节点的操作

    超全面javaweb教程第6天-_09_使用dom4j实现在在特定位置添加节点的操作

    第6章 HTML DOM对象编程

    第6章 HTML DOM对象编程 6.1 HTML文档对象模型 6.2 浏览器的主要对象 6.2.1 Window对象 6.2.2 Navigator对象 6.2.3 Location 对象 6.2.4 History对象 6.2.5 Event 对象 6.2.6 Document对象 6.3 基于DOM的HTML元素...

    JavaScript:DOM编程艺术(第2版)

    第3章 dom 32 3.1 文档:dom中的“d” 32 3.2 对象:dom中的“o” 32 3.3 模型:dom中的“m” 33 3.4 节点 35 3.4.1 元素节点 35 3.4.2 文本节点 35 3.4.3 属性节点 36 3.4.4 css 36 3.4.5 获取元素 38 ...

    树形表格菜单 动态添加节点/动态删除节点/动态移动节点

    6.支持ajax加载节点 7.事件驱动 8.可以动态根据列内容排序 9.简化函数参数,利用{} object输入参数,风格类似Extjs 10.树状结构可以选择出现在某一列,不一定要在第一列 11.支持theme,纯css定制表格树,可以自由定制...

    锋利的jQuery_高清_书签.part2

    第二部分 第1章 认识jQuery 1.1 JavaScript和JavaScript库 1.1.1 JavaScript简介 1.1.2 JavaScript库作用及对比 ...第6章 jQuery与Ajax的应用 第7章 插件的使用和写法 第8章 用jQuery打造个性网站

    c认证web进阶dom与bom

    1、DOM结构及节点 2、常用节点获取方法和属性 3、常用的节点属性获取方式 关于图片复制到csdn编译器不识别问题 DOM下 1、DOM修改 2、DOM添加 3、DOM删除 案例 DOM控制css样式 1、通过style属性控制样式 2...

    JavaScript 节点操作 以及DOMDocument属性和方法

    2childNodes 存储节点的子节点列表(只读) 3dataType 返回此节点的数据类型 4Definition 以DTD或XML模式给出的节点的定义(只读) 5Doctype 指定文档类型节点(只读) 6documentElement 返回文档的根元素(可读写) ...

    Jquery学习笔记分享

    第3章. jQuery中的DOM操作 8 1. 插入节点 8 2. 删除节点 8 3. 复制节点 9 4. 替换节点 9 5. 包裹节点 9 6. 属性操作 9 7. 样式操作 9 8. 设置和获取html,文本和值 10 9. 遍历节点 10 10. css-DOM 操作 10 第4章. ...

    JS构建页面的DOM节点结构的实现代码

    两者的区别主要有: concat是连接数组,不会修改原数组,返回值为连接后的数组,与push的重要区别是concat会展开数组的第一层子数组 push是添加数组元素。就地修改原数组,返回值为添加的新项,push不会展开传入的...

    JS深度揭秘第六章-DOM深入

    这个章节会深入的讲解DOM对象,同样以对象的形式去讲解,让大家彻底弄懂为什么能够操作DOM。事件中会讲解模拟事件、自定义事件的最新定义方式。样式部分也是以对象的形式讲解,让大家能够明白为什么能通过js去操作...

    Javascript入门学习第六篇 js DOM编程第1/2页

    学习英文: Dom:文档对象模型。Document object model Bom:浏览器对象模型...下面我们直接看 到底怎么操作DOM。 1, 创建元素节点。createElement(): [removed] var a = document.createElement(“p”); aler

    JavaScript王者归来part.1 总数2

     第6章 函数  6.1 函数定义和函数调用   6.1.1 函数的定义   6.1.1.1 声明式函数定义与函数表达式及其例子   6.1.1.2 JavaScript函数的奥妙——魔法代码   6.1.2 函数的调用   6.2 函数的参数   6.2.1...

    Ajax完全自学手册(源代码).rar

    第6章 错误处理 Test4Exception.htm 异常 Test4Onerror.htm onerror错误处理 Test4Onerror1.htm onerror错误处理 Test4TryCatch1.htm try catch 语法结构 Test4Throw.htm throw关键字显式抛出异常 ...

    Ajax完全自学手册PPT和源代码(ptt格式)

    第6章 错误处理 Test4Exception.htm 异常 Test4Onerror.htm onerror错误处理 Test4Onerror1.htm onerror错误处理 Test4TryCatch1.htm try catch 语法结构 Test4Throw.htm throw关键字显式抛出异常 throwException....

    Ajax完全自学手册(PPT)

    第6章 错误处理 Test4Exception.htm 异常 Test4Onerror.htm onerror错误处理 Test4Onerror1.htm onerror错误处理 Test4TryCatch1.htm try catch 语法结构 Test4Throw.htm throw关键字显式抛出异常 ...

    JQuery权威指南源代码

    第6章 传统的JavaScript方法实现Ajax功能 load()方法实现Ajax功能 getJSON函数获取数据 getScript函数获取数据 get实现异步获取xml文档数据 $.get发送请求 $.post发送请求 serialize()序列化表单 $.ajax()...

    JavaScript权威指南(第6版)中文文字版

    第6章 对象 118 6.1 创建对象 120 6.2 属性的查询和设置 123 6.3 删除属性 127 6.4 检测属性 128 6.5 枚举属性 130 6.6 属性getter和setter 132 6.7 属性的特性 134 6.8 对象的三个属性 138 6.9 序列化对象 141 6.10...

Global site tag (gtag.js) - Google Analytics