第8章 jQuery中的DOM操作

合集下载

jq常用方法

jq常用方法

jq常用方法jq是一个快速、简洁、灵活的JavaScript库,它允许我们轻松地操纵HTML文档,解析和处理JSON数据、处理表单和事件等。

在使用jq时,我们经常用到一些常用方法,那么接下来,我们就来一一讲解。

1. 选择器在jq中,选择器是最为基本的部分,它可以让我们快速地筛选元素,比如:- $("#id"):根据id选择元素。

- $(".class"):根据class选择元素。

- $("tag"):根据标签名选择元素。

- $("element").find(selector):在指定元素中查找符合条件的元素。

2. 事件绑定在jq中,我们可以通过事件绑定来实现在指定元素上触发事件。

常用的事件有:- $(selector).click(function(){}):点击元素触发事件。

- $(selector).mouseover(function(){}):鼠标移上元素触发事件。

- $(selector).submit(function(){}):表单提交触发事件。

- $(selector).focus(function(){}):元素获得焦点触发事件。

3. DOM操作在jq中,我们可以通过一些方法来快速地操作DOM元素,比如:- $(selector).html():获取或设置元素的HTML内容。

- $(selector).text():获取或设置元素的文本内容。

- $(selector).attr():获取或设置元素的属性。

- $(selector).addClass():为元素添加class。

- $(selector).remove():删除指定元素。

4. 动画效果在jq中,我们可以通过动态效果来增加网页的交互性,比如:- $(selector).show(speed,callback):显示元素,可以设置速度和回调函数。

jQuery学习笔记

jQuery学习笔记

第一章一、$(document).ready(function(){//do something});和window.onload的区别1.前者同一页面可以使用多次,后者出现多次只有最后一次能正确显示2.前者在DOM模型加载完成后就开始执行,后台在所有元素(包括图片)加载完成后执行3.前者可以简化为$(function(){//do something});后者没有简写形式。

二、jQuery比较常使用的是链式操作,比如一个书目导航条:$(function(){$(“ul”).click(function(){$(this).addClass(“current”).children(“li”).slideDown().end().sublings().removeClass(“current”).children(“li”).slideUp();})})对于同一元素不超过3个操作的,一般写同一行,如果操作过多,可以将类似的操纵写成一行,便于阅读。

三、jQuery对象和DOM对象的转换1.jQuery转化为DOM对象Var $variable = $(“tr”); //jQuery objectVar variable = $variable[0]; //DOM objectThe transpartent method.DomObject = jQueryObject[index] or = jQueryObject.get(index).2.DOM Object To jQuery ObjectVar variable = getElementsByTagName(“tr”); //DOM objectVar $variable = $(variable) // jQuery object;The transpartent method.jQueryObject = $(DomObject)四、jQuery开发工具1.Dreamweaver 可以安装插件提示jQuery 插件名称:jQuery_API.mxp2.Aptana 功能非常强大的、开源、专注javascript和Ajax开发IDE;3.Visual Studio 2008。

jQuery中选择器的基础使用教程

jQuery中选择器的基础使用教程

jQuery的选择器非常强大,使你可以轻松选取页面中任何一个对象,下面我们就主要针对DOM操作来看一下jQuery中选择器的基础使用教程,需要的朋友可以参考下其实选择器就像开罐器一样,会用这个工具的人,自然吃的到甜头,但不会用这个工具的人,不管罐头里面的面筋土豆有多美味,吃不到就是吃不到,就如同jquery再怎么强大,也只能看着荧幕,而不知该如何下手,不过虽然选择器不难,也容易上手,但老实说,我用了一年多下来,还是觉得自己只有用皮毛而已,所以希望藉着这一系列的笔记,让自己能更长进一些DOM怎么吃DOM可以说是JavaScript与网页之间的联系管道,他提供了一个模型,让JavaScript 能藉由此模型来改变或操作整个网页,<div class="one">  <p>two_1</p>  <p>two_2</p>  <p>two_2</p></div>我这边就简单介绍一下DOM模型,有个元素class名为one的是父元素,底下有三个儿子元素<p>,每个元素都视为一个节点,也可以看成一个树形图,因为我认为有些东西是Google会讲得比我好,所以还想知道更多纠结的父子关系...,可以去这,那边有很好的说明,这边就不多加解释,而当Jquery利用选择器抓取到DOM元素以后,就会将他包装成一个Jquery object,并且回传$('#MyDiv')<-- 他是一个物件这里有个观念十分重要,因为许多初学者,甚至是一些从Jquery开始学起Javascript的开发者(包括我),常常会把以下两个程序码搞混在一起//原生JavaScript取id为a的divvar result1 = document.getElementById('a');console.log(result1);//用jquery取id为a的divvar result2=$('#a');console.log(result2);如果你执行这段程序码出来,妳会发现console出来的结果,用JavaScript取出来的结果是DOM,可是一样的div用Jquery取出来的却是个包装过后的物件,换句话说,你不能直接对包装过后的Jquery物件增加DOM的事件,而是要用Jquery提供的事件,有人会说,那意思是不是说以后只能河水不犯井水,往后互不干涉,从此分道扬镳呢? 到也不是var b=$('#a')[0];只要跟上述程序码一样就可以取得DOM的元素了$()工厂不管是如何选择,我们都会用相同的函式$(),就如之前所讲的,他能接受CSS选择器的语法做为参数,而最主要的三个参数分别为tag name、ID与class,当然,这三个参数可以再与其他CSS语法做结合//tag name$('div')//ID$('#myId')//class$('.myClass')而上述函式都会如同第一章所介绍的,都有隐式迭代的特色,而为了做到跨览器的支援,Jquery的选择器包含了CSS1-3,所以不用担心一些比较特别的浏览器(对就是IE6)不能执行,除非addClass('color1');//替index为1的tr加上class$('tr:nth-child(1)').addClass('color2');这里很特别的是,为什么都是替index为1的tr加上class,却是不同的结果呢?,因为:eq()算是一个JavaScript阵列,index是0起始,所以才会选到第二个,而nth-child()是CSS选择器的一种,所以index是以1起始,选到的就是第一个,以下的范例意思相同/3PrJt///选择偶数的tr增加class$('tr:even').addClass('color1');//选择偶数的tr增加class$('tr:nth-child(even)').addClass('color2');就如同刚刚所讲的,index起始不同(JavaScript起始为0,CSS为1),所以虽然都是取偶数,但却是不同列再来就一些FORM常用的选择器/qcXSy/3/$(':button').click(function(){    alert('a');});这就代表说绑定所有的bitton一个click事件,其他还有像:input、:button、:enabled、:disabled都可以跟其他选择器一起组合成新的选择器更加强大的.filter()当有时候一般的选择器已经不能不能满足我们复杂的DOM时,例如要抓div的爸爸的哥哥的儿子的妹婿的二姑的大舅时...,这时候还可以用一个方法filter,这个方法特别的地方在于他可以带function进去/wGz3k/可以看到function里面限制return index == 1才可以增加CSS,这个好处就在于可以在里面做很多复杂的逻辑运算当然Jquery还有太多太多选择器可以使用,像还有.next()、.parent()、.children()一般常用的这几个,其实就很够用了我认为,再多的选择器有时候好像只是展示不同的写法,但其实只要能抓取到你想要的元素,解决问题你甚至想要这样写$('div').children().children().children().children().children()也不会有人说不行..实例一个网站中有10种的文章分类,我们设计一个类似WordPress显示各文章分类的名称及其文章数量的栏目,当用户进入一个页面时,默认显示前面5个分类的名称以及最后一个分类——其他分类,用户可以通过单击“显示全部分类”按钮来显示全部分类,同时一些推荐的分类会加下划线显示,按钮中的文字会改变为“显示部分分类”,再次单击“显示部分分类”后会回到之前的页面状态。

使用jQuery操作 DOM

使用jQuery操作 DOM
DOM操作分为三类:
DOM Core:任何一种支持DOM的编程语言都可 以使用它,如getElementById() HTML-DOM:用于处理HTML文档,如 document.forms CSS-DOM:用于操作CSS,如 element.style.color="green"
提示
JavaScript用于对(x)html文档进行操作,它对这三类 DOM操作都提供了支持
演示示例6:节点属性操作
21/38
插入同辈节点
元素外部插入同辈节点
语法 after(content) 功能 $(A).after (B)表示将B插入到A之后 如:$("ul").after($newNode1); $(A). insertAfter (B)表示将A插入到B之后 如:$newNode1.insertAfter("ul"); $(A). before (B)表示将B插入至A之前 如:$("ul").before($newNode1);
appendTo(content) $(A).appendTo(B)表示把A追加到B中 如:$newNode1.appendTo("ul"); prepend(content) $(A). prepend (B)表示将B前置插入到A中 如:$("ul"). prepend ($newNode1);
prependTo(content $(A). prependTo (B)表示将A前置插入到B中 ) 如:$newNode1. prependTo ("ul");
3/38
本章任务
制作今日团购模块 制作YY安全中心登录框特效 制作会员信息 制作凡客诚品帮助中心页面

前端开发中的DOM操作技巧

前端开发中的DOM操作技巧

前端开发中的DOM操作技巧随着移动互联网的快速发展,前端开发已成为互联网行业中不可或缺的一部分。

而DOM操作是前端开发中必不可少的一种技能,它可以让我们更加灵活地操作网页中的元素,从而实现更多的交互效果。

本文将从以下几个方面为大家介绍前端开发中的DOM操作技巧。

一、选择器在进行DOM操作之前,我们需要先选择要操作的元素。

而选择器就是用来选择元素的一种方式。

在HTML中,元素可以通过标签名、类名、ID等来进行选择。

在CSS中,我们在定义样式时常常也使用选择器。

而在JavaScript中,我们可以通过以下方式来获取元素:1. getElementById:通过ID获取元素2. getElementsByClassName:通过类名获取元素3. getElementsByTagName:通过标签名获取元素4. querySelector:通过CSS选择器获取元素以上四种方式都可以用来获取DOM元素,我们需要根据实际情况选择最适合的方式。

二、操作DOM元素选择好要操作的元素之后,我们就可以进行DOM操作了。

以下是几种常用的DOM操作方式:1. innerHTML:获取或设置元素的HTML内容2. textContent:获取或设置元素的文本内容3. style:获取或设置元素的样式4. className:获取或设置元素的类名5. appendChild:在元素的末尾添加一个子元素6. insertBefore:在元素中插入一个子元素7. removeChild:移除元素中的一个子元素通过以上操作,我们就可以灵活地控制元素的内容、样式和结构,从而实现更多的交互效果。

三、事件在前端开发中,我们常常需要对页面元素进行交互操作。

而事件就是让页面元素与用户交互的一种手段。

以下是几种常见的DOM事件:1. click:鼠标单击事件2. hover:鼠标移入/移出事件3. mouseover/mouseout:鼠标移入/移出事件4. focus/blur:元素获得/失去焦点事件5. keydown/keyup:键盘按下/松开事件通过事件,我们可以实现更多的效果,如按钮点击、表单验证等。

jQuery的DOM操作小案例

jQuery的DOM操作小案例

jQuery的DOM操作⼩案例案例⼀:下拉列表左右选择<body><div><select style="width:60px" multiple size="10" id="leftID"><option>选项A</option><option>选项B</option><option>选项C</option><option>选项D</option><option>选项E</option></select></div><div style="position:absolute;left:100px;top:60px"><input type="button" value="批量右移" id="rightMoveID"/></div><div style="position:absolute;left:100px;top:90px"><input type="button" value="全部右移" id="rightMoveAllID"/></div><div style="position:absolute;left:220px;top:20px"><select multiple size="10" style="width:60px" id="rightID"></select></div></body><script type="text/javascript">//双击右移//定位左边的下拉框,同时添加双击事件$("#leftID").dblclick(function() {//获取双击时选中的option标签var $option = $("#leftID option:selected");//将选中的option标签移动到右边的下拉框中$("#rightID").append($option);});//批量右移//定位批量右移按钮,同时添加单击事件$("#rightMoveID").click(function() {//获取左边下拉框中选中的option标签var $option = $("#leftID option:selected");//将选中的option标签移动到右边的下拉框中$("#rightID").append($option);});//全部右移//定位全部右移按钮,同时添加单击事件$("#rightMoveAllID").click(function() {//获取左边下拉框中所有的option标签var $option = $("#leftID option");//将选中的option标签移动到右边的下拉框中$("#rightID").append($option);});</script>案例⼆:动态添加标签事件<body><table id="tableID" border="1" align="center" width="60%"><tr><th>⽤户名</th><th>密码</th><th>操作</th></tr><tbody id="tbodyID"></tbody></table><hr />⽤户名:<input type="text" id="usernameID"/>密码:<input type="text" id="passwordID"/><input type="button" value="增加" id="addID"/></body><script type="text/javascript">//定位"增加"按钮,同时添加单击事件$("#addID").click(function() {//获取⽤户名和密码的值var username = $("#usernameID").val();var password = $("#passwordID").val();//去掉⼆边的空格username = $.trim(username);password = $.trim(password);//如果⽤户名或密码没有填if (username.length == 0 || password.length == 0) {//提⽰⽤户alert("⽤户名或密码没有填");} else {//创建1个tr标签var $tr = $("<tr></tr>");//创建3个td标签var $td1 = $("<td>" + username + "</td>");var $td2 = $("<td>" + password + "</td>");var $td3 = $("<td></td>");//创建input标签,设置为删除按钮var $del = $("<input type='button' value='删除'>");//为删除按钮动态添加单击事件$del.click(function() {//删除按钮所有的⾏,即$tr对象$tr.remove();});//将删除按钮添加到td3标签中$td3.append($del);//将3个td标签依次添加到tr标签中$tr.append($td1);$tr.append($td2);$tr.append($td3);//将tr标签添加到tbody标签中$("#tbodyID").append($tr);//清空⽤户名和密码⽂本框中的内容$("#usernameID").val("");$("#passwordID").val("");}});</script>案例三:全选反选<body><table border="1" align="center"><tr><th>状态</th><th>⽤户名</th></tr><tbody><tr><td><input type="checkbox"/></td><td>赵</td></tr><tr><td><input type="checkbox"/></td><td>钱</td></tr><tr><td><input type="checkbox"/></td><td>孙</td></tr></tbody><tfoot><tr><td><input type="checkbox"/>全选</td><td><input type="button" value="全反选"/></td></tr></tfoot></table><script type="text/javascript">//全选中和全取消//定位tfoot中的全选复选框,同时添加单击事件$("tfoot input:checkbox").click(function() {//获取该全选复选框的状态var flag = this.checked;//如果选中if (flag) {//将tbody中的所有复选框选中$("tbody input:checkbox").attr("checked", "checked");//如果未选中} else {//将tbody中的所有复选框取消$("tbody input:checkbox").removeAttr("checked");}});//全反选//定位tfoot标签中的全反选按钮,同时添加单击事件$("tfoot input:button").click(function() {//将tbody标签中的所有选中的复选框失效$("tbody input:checkbox:checked").attr("disabled","disabled");//将tbody标签中的所有⽣效的复选框选中$("tbody input:checkbox:enabled").attr("checked", "checked");//将tbody标签中的所有⽣效的复选框⽣效且设置为未选中 $("tbody input:checkbox:disabled").removeAttr("disabled") .removeAttr("checked");});</script></body>案例四:输⼊框暗影提⽰<head><meta http-equiv="content-type" content="text/html; charset=UTF-8"> <style type="text/css">.myClass {color: inactivecaption}</style><script type="text/javascript" src="../js/jquery-1.8.2.js"></script></head><body><table border="1" align="center"><tr><th>⽤户名</th><td><input type="text" value="输⼊⽤户名"/></td></tr></table><script type="text/javascript">//当浏览器加载web页⾯时$(function() {//将⽂本框中的⽂本样式改变$(":text").addClass("myClass");});//当光标定位⽂本框时$(":text").focus(function() {//清空⽂本框中的内容$(this).val("");//删除⽂本框的样式$(this).removeClass("myClass");});//当⽂本框失去焦点时$(":text").blur(function() {//获取⽂本框中填⼊的内容var content = $(this).val();//去⼆边的空格content = $.trim(content);//如果没填了内容if (content.length == 0) {//在⽂本框显⽰提⽰信息$(":text").val("输⼊⽤户名");//设置⽂本框中⽂本的样式$(":text").addClass("myClass");}});</script></body>。

jQuery遍历DOM元素与节点方法详解

jQuery遍历DOM元素与节点方法详解

jQuery遍历DOM元素与节点⽅法详解本⽂实例讲述了jQuery遍历DOM元素与节点⽅法。

分享给⼤家供⼤家参考,具体如下:⼀、向上遍历--祖先元素① $(selector).parent([filter]):返回selector匹配元素的直接⽗元素,⽅法可以接受⼀个过滤selector来过滤返回的⽗元素。

② $(selector).parents([filter]):返回匹配元素的所有祖先节点,⼀直向上直到⽂档根元素html,⽅法可以接受⼀个过滤selector来过滤返回的祖先节点。

备注:parent与parents的区别,parent返回直接⽗节点,parents返回所有的祖先节点,另外$("html").parent()返回document 节点,⽽$("html").parents()则返回空。

③ $(selector).parentUntil([ancestorSelector][,filter]):返回匹配节点与ancestorSelector之间的所有祖先节点,注意不包括ancestorSelector匹配的⼏点,⽅法可以接受⼀个过滤selector来过滤返回的祖先节点,如果ancestorSelector为空或者在其祖先节点中没有找到匹配ancestorSelector的元素则返回所有祖先节点等同于parents()⽅法。

$(selector).parentUtil(element[,ancestorSelector]):⽤法及含义同上。

④ $(selector).offsetParent():返回匹配元素的最近的⼀个定位的祖先元素,所谓定位祖先元素是指其CSS position属性设置为relative,absolute,fixed,主要在动画演⽰过程中计算元素的偏移及位置具有很⼤的作⽤。

⑤ $(selector).closest(ancestorSelector[,context]):获取最近的⼀个匹配ancestorSelector的祖先元素,⽅法可以接受⼀个参数context来控制搜索的范围。

JQuery常用技巧:jquery对象与dom对象的转换

JQuery常用技巧:jquery对象与dom对象的转换

JQuery 常用技巧 :jquery对象与dom对象的转换博客分类: javascriptjQueryIECSS浏览器HTML1、关于页面元素的引用通过jquery的$()引用元素包括通过id、class、元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery对象(集合对象),不能直接调用dom定义的方法。

2、jQuery对象与dom对象的转换只有jquery对象才能使用jquery定义的方法。

注意dom对象和jquery对象是有区别的,调用方法时要注意操作的是dom对象还是jquery对象。

普通的dom对象一般可以通过$()转换成jquery对象。

如:$(document.getElementById("msg"))则为jquery对象,可以使用jquery的方法。

由于jquery对象本身是一个集合。

所以如果jquery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。

如:$("#msg")[0],$("div").eq(1)[0],$("div").get()[1],$("td")[5]这些都是dom对象,可以使用dom中的方法,但不能再使用Jquery的方法。

以下几种写法都是正确的:$("#msg").html();$("#msg")[0].innerHTML;$("#msg").eq(0)[0].innerHTML;$("#msg").get(0).innerHTML;3、如何获取jQuery集合的某一项对于获取的元素集合,获取其中的某一项(通过索引指定)可以使用eq或get(n)方法或者索引号获取,要注意,eq返回的是jquery对象,而get(n)和索引返回的是dom元素对象。

dom常见的操作方法

dom常见的操作方法

dom常见的操作方法DOM是指文档对象模型(Document Object Model),它可以将文档(HTML、XML)表示为一个具有层次结构的树形结构。

在JavaScript 中,通过操作DOM,我们可以实现对网页元素的增删改查等操作。

下面是DOM的常见操作方法:一、查询元素1.通过元素的id查询:document.getElementById('id')2.通过元素的类名查询:document.getElementsByClassName('class')3.通过元素的标签名查询:document.getElementsByTagName('tag')4.通过选择器查询:document.querySelector('selector')或document.querySelectorAll('selector'),其中querySelector返回匹配的第一个元素,querySelectorAll返回匹配的所有元素。

二、创建元素1.创建元素:document.createElement('tag')2.创建文本节点:document.createTextNode('text')3.将文本节点添加到元素中:element.appendChild(textNode)三、操作元素属性1.获取元素属性值:element.getAttribute('attribute')2.设置元素属性值:element.setAttribute('attribute', 'value')四、操作元素样式1.获取元素样式值:element.style.property2.设置元素样式值:element.style.property = 'value'五、操作元素内容1.获取元素内容:element.innerHTML2.设置元素内容:element.innerHTML = 'content'3.获取元素文本内容:element.innerText六、操作元素位置1.获取元素相对于文档的位置:element.getBoundingClientRect()2.获取元素的父节点:element.parentNode3.插入元素到指定位置:parentElement.insertBefore(newElement, targetElement)七、操作元素事件1.添加事件监听器:element.addEventListener('event',function(){})2.移除事件监听器:element.removeEventListener('event', function(){})总结:DOM操作是JavaScript中的重要部分,在前端开发中经常需要对网页元素进行增删改查等操作。

DOM常用操作

DOM常用操作

DOM常⽤操作 ⽂档对象模型( DOM, Document Object Model )主要⽤于对HTML和XML⽂档的内容进⾏操作。

DOM描绘了⼀个层次化的节点树,通过对节点进⾏操作,实现对⽂档内容的添加、删除、修改、查找等功能。

⼀、DOM树DOM树有两种,分别为节点树和元素树。

节点树:把⽂档中所有的内容都看成树上的节点;元素树:仅把⽂档中的所有标签看成树上的节点。

⼆、DOM常⽤操作2.1 查找节点document.getElementById('id属性值');返回拥有指定id的第⼀个对象的引⽤document/element.getElementsByClassName('class属性值');返回拥有指定class的对象集合document/element.getElementsByTagName('标签名');返回拥有指定标签名的对象集合document.getElementsByName('name属性值');返回拥有指定名称的对象结合document/element.querySelector('CSS选择器');仅返回第⼀个匹配的元素document/element.querySelectorAll('CSS选择器');返回所有匹配的元素document.documentElement获取页⾯中的HTML标签document.body获取页⾯中的BODY标签document.all['']获取页⾯中的所有元素节点的对象集合型2.2 新建节点document.createElement('元素名');创建新的元素节点document.createAttribute('属性名');创建新的属性节点document.createTextNode('⽂本内容');创建新的⽂本节点document.createComment('注释节点');创建新的注释节点document.createDocumentFragment( );创建⽂档⽚段节点2.3 添加新节点parent.appendChild( element/txt/comment/fragment );向⽗节点的最后⼀个⼦节点后追加新节点parent.insertBefore( newChild, existingChild );向⽗节点的某个特定⼦节点之前插⼊新节点element.setAttributeNode( attributeName );给元素增加属性节点element.setAttribute( attributeName, attributeValue );给元素增加指定属性,并设定属性值添加⽂本节点,有两种常见⽅法:document.createTextNode('新增⽂本内容');1 <!DOCTYPE html>2 <html lang="en">3 <head>4 <meta charset="UTF-8">5 <title>Document</title>6 </head>7 <body>8 <h2>创建⽂本节点</h2>9 <button onclick="addText()">创建⽂本节点</button>10 <p></p>11 <script>12 function addText(){13 var element = document.getElementsByTagName('p')[0];14 var txt = document.createTextNode('新增⽂本内容'); //创建⽂本节点15 element.appendChild(txt); //添加⽂本节点16 }17 </script>18 </body>19 </html>element.innerHTML='新增⽂本内容';【推荐】1 <!DOCTYPE html>2 <html lang="en">3 <head>4 <meta charset="UTF-8">5 <title>Document</title>6 </head>7 <body>8 <h2>创建⽂本节点</h2>9 <button onclick="addText()">创建⽂本节点</button>10 <p></p>11 <script>12 function addText(){13 var element = document.getElementsByTagName('p')[0];14 element.innerHTML='新增⽂本内容'; //插⼊⽂本内容15 }16 </script>17 </body>18 </html>2.4 删除节点parentNode.removeChild( existingChild );删除已有的⼦节点,返回值为删除节点element.removeAttribute('属性名');删除具有指定属性名称的属性,⽆返回值element.removeAttributeNode( attrNode );删除指定属性,返回值为删除的属性2.5 修改节点parentNode.replaceChild( newChild, existingChild );⽤新节点替换⽗节点中已有的⼦节点element.setAttributeNode( attributeName );若原元素已有该节点,此操作能达到修改该属性值的⽬的element.setAttribute( attributeName, attributeValue );若原元素已有该节点,此操作能达到修改该属性值的⽬的添加属性节点,修改属性值:element.setAttributeNode( attributeName );1 <!DOCTYPE html>2 <html lang="en">3 <head>4 <meta charset="UTF-8">5 <title>Document</title>6 </head>7 <body>8 <h2>属性节点</h2>9 <p class="classValue">增添id属性,并修改class属性值</p>10 <script>11 var element = document.getElementsByTagName('p')[0];12 element.setAttribute('id','idValue'); //添加属性节点13 element.setAttribute('class','classNewValue');//修改属性值14 </script>15 </body>16 </html>element.setAttribute( attributeName, attributeValue );1 <!DOCTYPE html>2 <html lang="en">3 <head>4 <meta charset="UTF-8">5 <title>Document</title>6 </head>7 <body>8 <h2>属性节点</h2>9 <p class="classValue">增添id属性,并修改class属性值</p>10 <script>11 var element = document.getElementsByTagName('p')[0];12 // 添加属性节点13 var attr = document.createAttribute('id');14 attr.value = 'idValue';15 element.setAttributeNode(attr);1617 // 修改属性值18 var attr = document.createAttribute('class');19 attr.value = 'classNewValue';20 element.setAttributeNode(attr);2122 </script>23 </body>24 </html>。

使用jQuery插件

使用jQuery插件
$('.dropdown-toggle').dropdown(); // 调用下拉菜单 $('.btn').click( // 处理按钮单击事件
$('#myModal').modal(); // 调用模态框 ); }
8.1 插件基础
8.1.4 选项、方法和事件 1. 选项 选项用于设置插件的某些行为特征。插件的选项可以通过以下两种方式来设置。 (1)通过data属性来设置。例如: <div id="myModal' class="modal" data-keyboard="false"> . . .</div> (2)通过JavaScript来设置。例如: $('#myModal').modal({keyboard: false; show: false}); 2. 方法 方法用于执行插件的某种操作。插件的方法可以通过JavaScript来调用。例如: $('#myModal').modal('show'); 3. 事件 事件是插件对某些用户操作或系统行为做出的响应。针对插件的特定事件,根据需要来编写JavaScript代码,以实现预期的功能,这段代码 也称为事件处理程序。例如: $('#myModal').on('hidden.bs.modal', function (e) {
$('[data-toggle="tooltip"]').tooltip();
8.3 使用工具提示插件
8.3.2 调用工具提示插件 在JavaScript中,调用工具提示插件的构造方法时可以传入对象作为参数,通过该对象可以对提示 工具插件的相关选项进行设置。

JQuery遍历DOM节点的方法

JQuery遍历DOM节点的方法

JQuery遍历DOM节点的⽅法本⽂实例讲述了JQuery遍历DOM节点的⽅法。

分享给⼤家供⼤家参考。

具体分析如下:本节的核⼼是介绍JQuery的DOM操作,前⾯介绍了很多创建、删除、替换等等节点操作。

这⾥介绍如何遍历节点,选中临近节点等的⼀些⽅法。

children()⽅法该⽅法⽤于取得匹配元素的⼦元素集合。

根据DOM树的结构,可以知道各个元素之间的关系以及它们⼦节点的个数。

下⾯使⽤children()⽅法来获取匹配元素的所有⼦元素的个数。

var $body = $("body").children();var $p = $("p").children();var $ul = $("ul").children();alert( $body.length ); // <body>元素下有2个⼦元素alert( $p.length ); // <p>元素下有0个⼦元素alert( $ul.length ); // <p>元素下有3个⼦元素for(var i=0;i< $ul.length;i++){alert( $ul[i].innerHTML );}PS:children()⽅法只考虑⼦元素⽽不考虑任何后代元素。

next()⽅法该⽅法⽤于取得匹配元素后⾯紧邻的同辈元素。

从DOM树的结构中可以知道p元素的下⼀个同辈节点是ul,因此可以通过next()⽅法来获取ul元素,代码如下:var $p1 = $("p").next();// 紧邻p元素后的同辈元素prev()⽅法该⽅法⽤于取得匹配元素前⾯紧邻的同辈元素。

从DOM树的结构中可以知道ul元素的上⼀个同辈节点是p,因此可以通过prev()⽅法来获取p元素,代码如下:var $ul = $("ul").prev();// 紧邻ul元素前的同辈元素siblings()⽅法该⽅法⽤于取得匹配元素前后所有的同辈元素。

jquery的使用方法

jquery的使用方法

jquery的使用方法jQuery作为一种常用的JavaScript库,其强大的功能和简化代码的方便性让其成为前端开发者中的首选。

以下是在项目中常见的jQuery使用方法的分步骤阐述:1. 引入jQuery库在HTML文件的<head>区域中使用script标签引入jQuery库,通常我们是从官网下载一个jquery-x.x.x.js文件,在引用时需要写正确的路径。

2. jQuery对象的创建要使用jQuery对象,首先需要用jQuery构造函数来创建一个jQuery对象。

这可以使用两种方式创建:1)通过$或jQuery函数创建:例如:$("选择器")或者jQuery("选择器");2)通过使用jQuery()或$()函数作为参数传递原始DOM元素来创建。

3. 选择器的使用jQuery中的选择器实现了所有的CSS选择器,也支持自定义选择器。

与CSS选择器类似,jQuery选择器是用于选择HTML元素的字符串。

例如:选择id为“content”的元素:$("#content");选择class为“box”的元素:$(".box");选择label元素中“for”属性值为“id”的元素:$("label[for='id']")4. 事件处理函数的绑定通过bind()或者on()函数可以给元素绑定事件,例如:$(selector).bind(event,function)绑定事件。

事件可以是click、dblclick、mouseenter等等,函数可以是已定义的函数名,也可以是匿名函数。

5. 样式的操作通过jQuery对象的css()方法设置样式。

例如:$(selector).css('color','#fff')设置字体颜色为白色,$(selector).addClass('className')增加类名为'className'的样式。

DOM的基本操作

DOM的基本操作

DOM的基本操作DOM(Document Object Model,文档对象模型)是一种表示和操作HTML和XML文档的程序接口。

通过DOM,我们可以使用JavaScript或其他编程语言来访问和操作HTML文档的各个元素,实现改变页面结构、样式和内容等功能。

下面是对DOM的基本操作的详细介绍。

1.获取元素DOM提供了多种方法来获取HTML文档中的元素,常用的方法有:- `getElementById(`:通过元素的id属性获取元素,返回一个匹配的元素对象。

- `getElementsByClassName(`:通过元素的class属性获取元素,返回一个包含所有匹配元素的元素集合。

- `querySelector(`:通过选择器获取单个元素,返回第一个匹配的元素对象。

- `querySelectorAll(`:通过选择器获取所有匹配的元素,返回一个包含所有匹配元素的静态节点列表。

2.修改元素的内容和属性DOM提供了多种方法来修改元素的内容和属性,常用的方法有:- `innerHTML`:设置或获取元素的HTML内容。

- `setAttribute(`:设置元素的属性值。

- `getAttribute(`:获取元素的属性值。

- `classList.add(`:给元素添加一个或多个类名。

- `classList.remove(`:从元素中移除一个或多个类名。

3.创建和插入元素DOM提供了多种方法来创建和插入新的元素节点,常用的方法有:- `createElement(`:创建一个新的元素节点。

- `createTextNode(`:创建一个包含指定文本的文本节点。

- `appendChild(`:在指定元素的最后一个子节点后插入一个新的子节点。

- `insertBefore(`:在指定元素的一些子节点前插入一个新的子节点。

- `replaceChild(`:用一个新的子节点替换指定元素的一些子节点。

探析在jQuery框架下操作HTML DOM元素

探析在jQuery框架下操作HTML DOM元素

探析在jQuery框架下操作HTML DOM元素摘要:遵循web标准的网页开发中,html dom在实现行为层中起着举足轻重的作用。

javascript就可以利用html dom动态的修改网页。

jquery就是一个优秀的javascript框架,其代码简洁,说明文档齐全,支持ajax、容易使用,链式语法,自动迭代,开源等诸多优点使得用jquery编写的网页脚本更简单、更方便、功能更强大。

关键词:javascript jquery web标准 dom一、关于html domhtml dom是html document object model(文档对象模型)的缩写,html dom则是专门适用与html最佳化html/xhtml的文档对象模型。

html dom 定义了访问和操作html文档的标准方法。

熟悉软件开发的人员可以将html dom理解为网页的api。

它将网页中的各个元素都看作一个个对象,从而使网页中的元素也可以被计算机语言获取或者编辑。

例如javascript就可以利用html dom动态的修改网页。

如图所示,html dom 把 html 文档呈现为带有元素、属性和文本的树结构(节点树)。

二、javascript与jquery作为一个javascript的函数库,jquery和直接使用javascript 相比。

具有以下优点:(1)能将javascript代码和html代码完全分离,便于代码和维护和修改。

通过引用,完全可以将jquery的代码和html代码分别编写,这样既方便功能的实现和维护,同时也能使html代码更清晰可读。

(2) jquery支持css以及基本的xpath。

对不同版本样式库的支持是jquery的一大特点,而通过对xpath的解析实现对xml的支持。

(3)代码简练、文档丰富、语义易懂、学习快速。

三、jquery操作html dom元素1.引用jquery在需要使用jquery的页面中引入jquery的js文件即可。

DOM的基本操作

DOM的基本操作

DOM的基本操作1.DOM属性的基本操作(增/删/改/查)改变元素的内容(innerHTML),属性(value),样式(width,height,background)也就是对DOM进⾏增删改查DOM的属性操作,增删改查什么是元素的属性?class就是元素的属性,写在元素内的所有东西都是元素的属性,⽐如link的href,img的src等元素的属性是什么,分为两种,⼀种叫内置属性,⼀种叫⾮内置属性。

内置属性可以直接通过点"."进⾏操作tagName //返回值是当前元素的标签名innerHTML/innerText //返回值是当前元素的内容id //返回值是当前元素的IDtitle //获取title的标签值,这个title是从document中获取的className //返回值是当前元素的classhref //返回值是当前的href的值以上这些属性既可以获取,也可以设置⾮内置属性需要通过⼀些节点的⽅法进⾏操作,注意:节点的⽅法,前缀⼀定是节点getAttribute() //获取元素的属性setAttribute() //设置/修改元素的属性,低版本的IE不兼容;接收两个参数,属性名和属性值removeAttribute() //删除元素的属性,低版本的IE不兼容2.节点根据DOM规定,HTML⽂档中的每个成分都是⼀个节点。

DOM是这样规定的:整个⽂档是⼀个⽂档节点每个HTML标签是⼀个元素节点包含在HTML元素中的⽂本是⽂本节点每⼀个HTML属性是⼀个属性节点注释属于注释节点相当于HTML⽂档中的所有内容都是节点,元素是节点的别称,节点包含元素,当然节点还有好多细化的种类如何获取DOM节点:对象.parentNode //获得⽗元素节点对象.children //获得⼦元素节点的集合,不包含空⽩节点//但IE7包含⾸个注释节点(前⾯没有元素节点),IE8包含所有注释节点对象.childNodes //获得所有⼦节点的集合,包括空⽩节点//IE7/8不包含空⽂本节点,但IE7包含⾸个注释节点(前⾯没有元素节点),IE8包含所有注释节点如何获取属性节点:对象.attributes //获得所有属性节点,返回⼀个数组3.childNodes/过滤空⽩节点通过对象.childNodes 获得所有⼦节点的集合节点属性 nodeType 返回值为数值节点类型(nodeType) 节点名字(nodeName) 节点值(nodeValue)元素节点 1 标签名 null⽂本节点 3 #text ⽂本注释节点 8 #comment 注释的⽂字⽂档节点 9 #document null属性节点 2 属性名属性值通过遍历所有⼦节点,将空⽩节点过滤掉,得出所有的元素节点4.⾼级选取firstChild/lastChild/parentNode/previousSibling/nextSibling⽗(parent)、⼦(child)和同胞(sibling)等术语⽤于描述这些关系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

消失,失去焦点时若内容为空,则再
$(this).val(“”);
}
次});显示提示文字。
$(this).blur(function(){ //失去焦点时,如果值为空,则设置为默认值
if (($(this).val() == ""){
$(this).val(“defaultVal”);
}
});
});
任务实现
});
});
//页面打开后的初始状态 $("div img").addClass("alpha"); //四幅小图透明度全部设为0.2 $("div img:eq(0)").removeClass("alpha"); //第一幅小图不设置透明度 //当鼠标移入某幅小图时 $(this).removeClass("alpha").siblings().addClass("alpha");//当前小图不设 透明度,其他三幅小图透明度设为0.2
插入节点
• 元素外部插入同辈节点
语法 after(content) insertAfter(content) before(content) insertBefore(content)
功能
$(A).after (B)表示将B插入到A之后 如:$("ul").after($newNode1);
$(A). insertAfter (B)表示将A插入到B之后 如:$newNode1.insertAfter("ul");
任务实现
$(function() { $("div img").mouseover(function(){
获取当前发生单击事件的小图片的src 属性,将其作为大图的src属性值
var big_src = $(this).attr("src"); //获取小图的src属性
$("#test").attr("src",big_src); //设置大图的src属性
01 学会查找节点、创建节点、删除节点 02 学会复制节点、替换节点、遍历节点 03 能够根据需要动态改变页面元素的样式 04 能够动态改变元素的属性
本章任务
• 任务1 制作图片展示效果 • 任务2 制作留言板前端局部更新效果 • 任务3 制作电子邮件删除效果 • 任务4 表格隔行变色和当前行变色

任务描述
在页面中有四幅小图片和一个图片展示区域,当鼠标移入某幅小图片时,在 图片展示区域可看到其对应的大图。为凸显当前的小图状态,把其它三幅小 图透明度设为0.2
演示任务1:图片展示效果
任务分析
实现思路
1. 为四幅小图片绑定鼠标移入事件。 2. 获取当前发生鼠标移入事件的小图片的src属性,将其设置为大图的src
var defaultVal = $(this).val(); //保存当前文本框在的“值昵称”和“留言内容”文本框中
$(this).focus(function(){ //获得焦点时,如果值显为示默提认示值文字,,则获设得置焦为点空时提示文字
if($(this).val() == defaultVal){
说 JavaScript用于对html文档进行操作,它对这三类DOM操作都提供了支持

jQuery中的DOM操作
jQuery对JavaScript中的DOM操作进行了封装
jQuery中的DOM操作
• 样式操作
内容及Value值操作
Байду номын сангаас• 节点属性操作 节点遍历
节点操作 CSS-DOM操作
说 “元素”和“节点”含义大同小异,这里不严格区分
任务描述
当在“昵称”和“留言内容”文本框内输入信息后,单击“单击这里提交 留言”按钮,输入的信息会显示在页面上端的留言板中。若没有输入昵称 和留言内容,单击“单击这里提交留言”时不能发送留言。
演示任务2:留言板前端局部更新效果
任务分析
实现思路
1. 在“昵称”和“留言内容”文本框中显示提示文字,获得焦点时提 示文字消失,失去焦点时若内容为空,则再次显示提示文字。
$("div img").mouseover(function() {
var big_src = $(this).attr("src"); //获取小图的src属性
$("#test").attr("src",big_src); //设置大图的src属性
//当前小图不设透明度,其他三幅小图透明度设为0.2
if(Name!="你的昵称" && Content!="你要说的话") {
<p>标签中的文字内容
var msg =
"<li><span>"+Name+"</span><p>"+Content+"</p></li>";//创建一
条留言
$("ul").append(msg); //将留言显示在留言板中
任务实现
$(function() {
$("div img").addClass("alpha"); //四幅小图透明度全部设为0.2
$("div img:eq(0)").removeClass("alpha"); //第一幅小图不设置透明

获取当前发生单击事件的小图片的
//当鼠标移入某幅小图时
src属性,将其作为大图的src属性值
DOM操作分类
DOM操作分为三类:
• DOM Core:任何一种支持DOM的编程语言都可以使用它,如 getElementById()
• HTML-DOM:用于处理HTML文档,如document.forms • CSS-DOM:用于操作CSS,如element.style.color="green"
了该邮件
• 掌握jQuery中删除节点的方法 • 掌握jQuery中遍历节点的方法
删除节点
jQuery提供了三种删除节点的方法
方法 remove()
功能 删除指定的元素,后代节点也会删除。返回 值是一个指向已被删除的节点的引用
示例 $(“p”).remove()删除p元素
detach()
删除指定元素,但其绑定的事件、附加的数 $(“p”).detach() 据都会保留下来
empty() 清空指定元素
$(“p”).empty()清空p元素
复制节点
• 通过clone()方法实现复制节点
参数ture或flase, true复制 事件处理,flase时反之
语法: $(selector).clone([includeEvents])
$(A). before (B)表示将B插入至A之前 如:$("ul").before($newNode1);
$(A). insertBefore (B)表示将A插入到B之前 如:$newNode1.insertBefore("ul");
任务实现
关键代码
$(".text").each(function(){ //为每个匹配元素运行指定的函数,隐形迭代
创建1个有文本内容 和属性的<li>节点
插入节点
• 元素内部插入子节点
语法 append(content) appendTo(content) prepend(content) prependTo(content)
功能 $(A).append(B)表示将B追加到A中 如:$("ul").append($newNode1); $(A).appendTo(B)表示把A追加到B中 如:$newNode1.appendTo("ul"); $(A). prepend (B)表示将B前置插入到A中 如:$("ul"). prepend ($newNode1); $(A). prependTo (B)表示将A前置插入到B中 如:$newNode1. prependTo ("ul");
2. 获取用户输入的“昵称”和“留言内容”。 3. 若用户输入了“昵称”和“留言内容”,则创建一条留言,并显示
在页面上面的留言板中。 4. 将“昵称”和“留言内容”文本框的value值设置为初始值。
• 掌握jQuery中获取或设置元素的value属性值的方法 • 掌握jQuery中创建节点、插入节点的方法
属性值。这样大图也就随之改变了。 3. 为凸显当前的小图状态,把其它三幅小图透明度设为0.2。
• 掌握jQuery中获取和设置属性的方法
获取和设置属性
attr()方法:获取和设置元素属性
要获取图片的src属性,只需要给attr()方法传递一个参数,即属性名称 示例 var $img = $("#photo"); //获取图片<img>元素
var path = $img.attr("src"); //获取图片<img>元素节点src属性的值 $img.attr("src", "路径"); //设置图片<img>元素节点src属性的值 $img.attr({"src": "路径", "title": "图片提示文字" }); //同时设置同一元素多个属性
相关文档
最新文档