第8章 jQuery中的DOM操作-任务3 制作电子邮件删除效果
jQuery笔记——DOM操作

jQuery笔记——DOM操作在 JavaScript 中,DOM 不但内容庞⼤繁杂,⽽且我们开发的过程中需要考虑更多的兼容性、扩展性。
在 jQuery 中,已经将最常⽤的 DOM 操作⽅法进⾏了有效封装,并且不需要考虑浏览器的兼容性对元素内容的获取和修改可以使⽤ html()和 text()⽅法获取内部的数据。
html()⽅法可以获取或设置 html 内容,text()可以获取或设置⽂本内容$('#box').html(); //获取 html 内容$('#box').text(); //获取⽂本内容,会⾃动清理 html 标签$('#box').html('<em>jQuery</em>'); //设置 html 内容$('#box').text('<em>jQuery</em>'); //设置⽂本内容,会⾃动转义 html 标签注意:当我们使⽤ html()或 text()设置元素⾥的内容时,会清空原来的数据。
⽽我们期望能够追加数据的话,需要先获取原本的数据$('#box').html($('#box').html() + '<em>jQuery</em>'); //追加数据如果元素是表单的话,jQuery 提供了 val()⽅法进⾏获取或设置内部的⽂本数据$('input').val(); //获取表单内容$('input').val('jQuery'); //设置表单内容元素属性操作jQuery 可以对元素本⾝的属性进⾏操作,包括获取属性的属性值、设置属性的属性值,并且可以删除掉属性$('div').attr('title'); //获取属性的属性值$('div').attr('title', 'Hello jQuery'); //设置属性及属性值$('div').attr('title', function () { //通过匿名函数返回属性值return 'Hello jQuery';});$('div').attr('title', function (index, value) { //可以接受两个参数return value + (index+1) + ',Hello jQuery';});注意:attr()⽅法⾥的 function() {},可以不传参数。
简述jquery中插入节点修改节点删除节点复制节点的方法

简述jquery中插入节点修改节点删除节点复制节点的方法jQuery中提供了一些方法用于操作DOM节点,包括插入节点、修改节点、删除节点、复制节点等。
下面将对这些方法进行简述。
1. append(:向指定的元素内部的最后添加内容。
可以是HTML字符串、DOM元素、DOM元素数组、jQuery对象。
示例:```javascript$("body").append("<p>这是一个段落</p>");```2. prepend(:向指定的元素内部的最前添加内容,用法与`append(`类似。
示例:```javascript$("body").prepend("<p>这是一个段落</p>");```3. after(:在指定的元素后面添加内容。
示例:```javascript$("p").after("<p>这是一个新的段落</p>");```4. before(:在指定的元素前面添加内容。
示例:```javascript$("p").before("<p>这是一个新的段落</p>");```5. insertAfter(:将指定的元素插入到目标元素的后面。
示例:```javascript$("<p>这是一个新的段落</p>").insertAfter("p");```6. insertBefore(:将指定的元素插入到目标元素的前面。
示例:```javascript$("<p>这是一个新的段落</p>").insertBefore("p");```1. text(:设置或返回元素的文本内容。
jquery删除方法

jquery删除方法在 jQuery 中,删除操作通常通过使用 `.remove()` 方法来实现。
以下是一些常见的使用示例:1. 删除特定元素:```javascript$("element-id").remove();```这将删除具有特定 ID 的元素。
2. 删除特定类别的元素:```javascript$(".element-class").remove();```这将删除所有具有特定类别的元素。
3. 删除所有匹配的元素:```javascript$(selector).remove();```这将删除所有与给定选择器匹配的元素。
4. 删除元素及其子元素:如果你想删除一个元素以及其所有子元素,你可以使用 `.empty()` 方法,然后再使用 `.remove()` 方法:```javascript$("element-id").empty().remove();```5. 在删除操作后进行其他操作:你还可以在 `.remove()` 方法后面链式调用其他方法,例如 `.css()`:```javascript$("element-id").remove().css("display", "none");```这将首先删除具有特定 ID 的元素,然后将其隐藏。
6. 删除元素的某个属性:你可以使用 `.removeAttr()` 方法来删除元素的某个属性:```javascript$("element-id").removeAttr("attribute-name");```这将从具有特定 ID 的元素中删除指定的属性。
7. 删除表单元素的值:要删除表单元素的当前值,可以使用 `.val('')` 方法:```javascript$("element-id").val('');```这将清空具有特定 ID 的表单元素的值。
jQueryDOM操作

jQueryDOM操作DOM操作的分类:DOM CORE(核心)、HTML-DOM和CSS-DOM1. DOM CoreDOM Core并不专属于javascript,任何一种支持DOM的程序设计语言都可以使用它。
它的用途并非仅限于处理网页,也可以用来处理任何一种使用标记语言编写出来的文档,如XML.Javascript中的getElementById(),getElementByTagName(),getAttribute()和setAttribute()方法,都是dom core的组成部分。
2. HTML_DOM使用HTML_DOM来获取表单对象的方法Document.forms使用HTML_DOM来获取某元素的src属性的方法Element.src3. CSS_DOMCSS_DOM是针对CSS的操作。
在javascript中,CSS-DOM技术的主要作用是获取和设置style对象的各个属性。
通过改变style对象的各种属性,可以使网页呈现出各种不同的效果。
Element.style.color = “red”;jQuery作为javascript库,继承并发扬了javascript对DOM对象的操作的特性,使开发人员能方便的操作DOM对象。
元素的操作可以按下列来分类:查找、创建、插入、删除、复制、包裹、属性操作、查找:利用上面的jQuery选择器创建:主要包括创建元素节点和创建文本节点、创建属性节点。
(1)创建元素节点 $(html)Var aa=$("<li></li>");(2)创建文本节点 Var aa=$("<li>你好</li>");(3)创建属性节点 Var aa=$("<li title='bbb'>你好</li>");插入:光动态的创建节点没上面用处,还要能够将创建的动态插入。
详解jQuery中的DOM操作

详解jQuery中的DOM操作⼤致介绍 jQuery作为JavaScript库,继承并发扬了JavaScript对DOM对象操作的特性,使开发⼈员能⽅便的操作DOM对象。
jQuery中的DOM操作看看DOM操作都有哪些逐⼀来看先写⼀份HTML代码,后⾯的代码将操作这份HTML代码<p title="选择你最喜欢的⽔果">你最喜欢的⽔果?</p><ul><li title="苹果">苹果</li><li title="橘⼦">橘⼦</li><li title="菠萝">菠萝</li></ul>查找节点1、查找元素节点查找节点可以⽤各种各样的选择器来查找$('ul li');2、查找属性节点可以⽤attr()⽅法,参数是⼀个的时候是查找属性,两个的时候是设置属性console.log($('li:eq(2)').attr('title'));//菠萝创建节点1、创建元素节点var $li_1 = $('<li></li>');2、创建⽂本节点var $li_1 = $('<li>⾹蕉</li>');3、创建属性节点var $li_1 = $('<li title="⾹蕉">⾹蕉</li>');插⼊节点1、向每个匹配的元素追加内容$('li:eq(1)').append('<p>⾹蕉</p>');2、将匹配的元素追加到指定元素中$('<p>⾹蕉</p>').appendTo('li:eq(1)');这两种⽅法都是进⾏同⼀个操作,prepend()和prependTo()与上述⽅法类似,不同之处就是在元素内部前插⼊内容3、在每个匹配的元素之后插⼊内容$('li:eq(1)').after('<p>⾹蕉</p>');4、将匹配的元素插⼊到指定的元素后⾯$('<p>⾹蕉</p>').insertAfter('li:eq(1)');这两种⽅法都是进⾏同⼀个操作,before()和insertBefore()与上述⽅法类似,不同之处就是在元素前插⼊内容删除节点1、remove()⽅法当某个节点⽤了remove()⽅法之后,该节点所包含的所有后代节点都将同时删除。
jQuery中DOM节点的删除方法总结(超全面)

jQuery中DOM节点的删除⽅法总结(超全⾯)前⾔相信⼤家都知道,要移除页⾯上节点是开发者常见的操作,jQuery提供了⼏种不同的⽅法⽤来处理这个问题。
下⾯本⽂就进⾏⼀个详细的介绍,感兴趣的朋友们⼀起来看看吧。
⼀、emptyempty 顾名思义,清空⽅法,但是与删除⼜有点不⼀样,因为它只移除了指定元素中的所有⼦节点。
这个⽅法不仅移除⼦元素(和其他后代元素),同样移除元素⾥的⽂本。
因为,根据说明,元素⾥任何⽂本字符串都被看做是该元素的⼦节点。
如果我们通过empty⽅法移除⾥⾯div的所有元素,它只是清空内部的html代码,但是标记仍然留在DOM 中,通过empty移除了当前div元素下的所有p元素但是本⾝id=test的div元素没有被删除。
$("button").on('click', function() {//通过empty移除了当前div元素下的所有p元素//但是本⾝id=test的div元素没有被删除$("#test").empty()})⼆、removeremove与empty⼀样,都是移除元素的⽅法,但是remove会将元素⾃⾝移除,同时也会移除元素内部的⼀切,包括绑定的事件及与该元素相关的jQuery数据。
例如⼀段节点,绑定点击事件,如果不通过remove⽅法删除这个节点其实也很简单,但是同时需要把事件给销毁掉,这⾥是为了防⽌"内存泄漏",所以前端开发者⼀定要注意,绑了多少事件,不⽤的时候⼀定要记得销毁。
通过remove⽅法移除div及其内部所有元素,remove内部会⾃动操作事件销毁⽅法,所以使⽤使⽤起来⾮常简单 remove表达式参数: remove⽐empty好⽤的地⽅就是可以传递⼀个选择器表达式⽤来过滤将被移除的匹配元素集合,可以选择性的删除指定的节点,我们可以通过$()选择⼀组相同的元素,然后通过remove()传递筛选的规则,如:$("p").filter(":contains('3')").remove()。
第8章 使用jQuery进行DOM操作

after(content) 在每个匹配的元素之后插入内容 jQuery content (String, Element, jQuery):插入到每个目标后的内容
8.2 在元素外部插入 在元素外部插入DOM元素 元素
after(content)函数的参数 函数的参数$(“#first”)用于取得页面上 为 用于取得页面上id为 函数的参数 用于取得页面上 的标签元素, “first”的标签元素,然后放置到匹配元素,也就是 为“second” 的标签元素 然后放置到匹配元素,也就是id为 标签元素之后。 的<div>标签元素之后。同样的功能也可以使用 标签元素之后 同样的功能也可以使用insertAfter(content) 函数来实现。 函数来实现。
函数名 作用 返回值 参数
replaceAll(selector) 用匹配的元素替换掉所有 selector匹配到的元素。 jQuery selector (选择器):用于查找所要被替换的元素
8.5
删除DOM元素 删除DOM元素 DOM
jQuery中在页面上删除一个 中在页面上删除一个DOM元素有两种方式:一种是“伪 元素有两种方式: 中在页面上删除一个 元素有两种方式 一种是“ 删除” 即删除之后页面元素的标签还在,只是内容被删除, 删除”,即删除之后页面元素的标签还在,只是内容被删除,jQuery 中相应的函数为empty()函数;还有一种是“真删除”,这种删除将 函数; 中相应的函数为 函数 还有一种是“真删除” 使该标签元素从页面上彻底消失, 使该标签元素从页面上彻底消失,jQuery中相应的函数为 中相应的函数为 remove([expr])函数。 函数。 函数
函数名 作用
学习JQuery的DOM操作

学习JQuery的DOM操作
今天为大家介绍的是JQuery的DOM操作,希望大家学业有成,工作顺利
JQuery中的DOM操作主要对包括:建【新建】、增【添加】、删【删除】、改【修改】、查【查找】【像数据库操作】。
下面的DOM操作将围绕上面的DOM树进行学习JQueryDOM操作。
一、查--查找DOM节点
查找节点非常容易,使用选择器就能轻松完成各种查找工作。
例:查找元素节点p返回p内的文本内容$(“p”).text();例:查找元素节点p的属性返回属性名称对应的属性值$(“p”).attr(“title”),返回p的属性title的值。
二、建--新建DOM节点
1、创建元素节点
创建元素节点并且把节点作为
元素的子节点添加到DOM节点树上。
先创建元素点,创建元素节点使用Jquery的工厂函数$()来完成,格式如下:$(html),该方法会根据传入的html 字符串返回一个DOM对象,并将DOM对象包装成一个JQuery对象后返。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
$p[2].html();
//获取第3个子元素的内容
遍历节点
➢ 遍历同辈元素
• jQuery可以获取紧邻其后、紧邻其前和位于该元素前与后的所有同辈元素
语法 next([expr]) prev([expr]) slibings([expr])
功能 用于获取紧邻匹配元素之后的元素 $("li:eq(1)").next().addClass("orange"); 用于获取紧邻匹配元素之前的元素 $("li:eq(1)").prev().addClass("orange"); 用于获取位于匹配元素前面和后面的所有同辈元素 $("li:eq(1)").siblings().addClass("orange");
CSS-DOM操作
➢ 除css()外,还有获取和设置元素高度、宽度等的样式操作方法
语法 css() height([value]) width([value]) offset([value]) offsetParent( ) position( ) scrollLeft([position]) scrollTop([position])
实现全选或全不选。 3. 为“删除邮件”按钮绑定onclick事件。 4. 查找所有checked属性值为true的复选框,删除其所在的行,即删除
了该邮件
• 掌握jQuery中删除节点的方法 • 掌握jQuery中遍历节点的方法
删除节点
➢ jQuery提供了三种删除节点的方法
方法 remove()
语法格式
html( )
参数说明
无参数
功能描述 用于获取第一个匹配元素的HTML内容或文本内容
html(content) content为元素的HTML内容 用于设置所有匹配元素的HTML内容或文本内容
text( )
无参数
用于获取所有匹配元素的文本内容
text (content) content为元素的文本内容 用于设置所有匹配元素的文本内容
if($(this).is(":checked"))
$(this).parent().parent().remove();
})
如果复选框是选中状态,则返
})
回该行对象将其删除
练一练
练习 实现删除行的功能。单击“删除”时,能删除相应行
遍历节点
➢ 遍历前辈元素
• parent():获取元素的父级元素 • parents():元素元素的祖先元素(包括父级元素,父级元素的父级元素……)
$("li:eq(1)").parent().addClass("orange"); 示例
$("li:eq(1)").parents().addClass("orange");
}
else {
未选中设置“checked”属性
$("input[name=Select]").prop("checked",true);
}
});
任务实现
关键代码
//删除选中邮件 $('div div a:eq(1)').click(function() {
对每个复选框执行函数
$("input[name=Select]").each(function(){
alert($(this).text()) }); //输出每个 <li> 元素的文本
2. var arr = [ "one", "two", "three", "four"];
$.each(arr, function(){
alert(this); });
//遍历数组
遍历节点
➢ end( ):结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前
说
jQuery中提供了find()、filter()等 each( ) :规定为每个匹配元素规定运行的函数
选择器的位置
语法: $(selector).each(function(index,element))
当前的元素
示例
1.$("li").each(function(){
功能
设置或返回匹配元素的样式属性 设置或返回匹配元素的高度 设置或返回匹配元素的宽度 返回以像素为单位的top和left坐标。仅对可见元素有效 返回最近的已定位祖先元素。定位元素指的是元素的CSS position值被 设置为relative、absolute或fixed的元素 返回第一个匹配元素相对于父元素的位置 参数可选。设置或返回匹配元素相对滚动条左侧的偏移 参数可选。设置或返回匹配元素相对滚动条顶
任务描述
在邮件列表前都有一个复选框,单击可以选中或取消选中。当单击“全选/ 全不选”按钮,所有复选框都随之选中或取消选中。单击“删除邮件”按 钮可删除被选中的邮件。
演示任务3:电子邮件删除效果
任务分析
实现思路
1. 为“全选/全不选”按钮绑定onclick事件。 2. 查找所有的复选框,把每个复选框的checked属性值变为true或false,
任务实现
关键代码
判断复选框是否是选中状态
$("div div a:eq(0)").click(function(){
if($("input[name=Select]").is(":checked")) {
选中删除“checked”属性
$("input[name=Select]").removeAttr("checked");
功能 删除指定的元素,后代节点也会删除。返回 值是一个指向已被删除的节点的引用
示例 $(“p”).remove()删除p元素
detach()
删除指定元素,但其绑定的事件、附加的数 $(“p”).detach() 据都会保留下来
empty() 清空指定元素
$(“p”).empty()清空p元素
复制节点
• 通过clone()方法实现复制节点
参数ture或flase, true复制 事件处理,flase时反之
语法: $(selector).clone([includeEvents])
示例
$("ul li").click(function(){ $(this).clone().appendTo("ul"); //复制当前单击的节点,并将它追加到<ul>中 })
$('ul.first').find('.foo').css('background-color', 'red') .end().find('.bar').css('background-color', 'green');
HTML代码操作
➢ html( ):可以对HTML代码进行操作,类似于JS中的innerHTML ➢ text( ): 可以获取或设置元素的文本内容,类似于JS中的innerText
的状态
示例
<ul class="first"> <li class="foo">list item 1</li> <li>list item 2</li> <li class="bar">list item 3</li>
</ul> <ul class="second">
<li class="foo">list item 1</li> <li>list item 2</li> <li class="bar">list item 3</li> </ul>
替换节点
➢ 通过replaceWith()和replaceAll()方法替换节点
• replaceWith()方法将匹配的元素全部替换成指定的HTML或者DOM元素
• replaceAll()方法颠倒了replaceWith()操作
两者的关系类似于 append()和appendTo()
$("ul li:last").replaceWith("<li>乒乓球</li>"); 示例
$("<li>乒乓球</li>").replaceAll("ul li:last");
遍历节点
➢ 遍历子元素
• children()方法可以用来获取元素的所有子元素
语法: $(selector).children([expr])
var $p=$(“ul”).children(); 示例
alert($p.length);