PowerPoint 演示文稿

Similar documents
5-1 nav css 5-2

《linux从入门到精通》实验指导第三讲:文件及目录操作

ii Vue Bootstrap 4 ES 6 Vue Vue Bootstrap 4 ES 6 Vue 2 vue html vue html vue Vue HTML 5 CSS ES 6 HTML 5 CSS Visual Studio Code h

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b

關於本書 l 3 PhoneGap Appcelerator Titanium Sencha Touch (wrapper framework) Native App PhoneGap Build Native App Hybrid App Java Objective-C Android SDK

第 12 讲 Javascript 及其扩展应用简介 (2) 张高川 遗传学与生物信息学系基础医学与生物科学学院苏州大学医学部 WX: zhanggaochuan QQ: 苏州大学医学部基础医学与生物

p.2 1 <HTML> 2 3 <HEAD> 4 <TITLE> </TITLE> 5 </HEAD> 6 7 <BODY> 8 <H3><B> </B></H3> 9 <H4><I> </I></H4> 10 </BODY> </HTML> 1. HTML 1. 2.

互動網頁技術系列課程 HTML與CSS網站基礎設計 [12pt]

Microsoft Word - PHP7Ch01.docx

RUN_PC連載_8_.doc

PowerPoint 演示文稿

《linux从入门到精通》实验指导第三讲:文件及目录操作

可 Web 编程的NativeUI 设计与实现

PowerPoint 演示文稿

week06.key

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas

《linux从入门到精通》实验指导第三讲:文件及目录操作

XHTML width/height bdo a code href object charset codebase hreflang archive lang type alt dir name name xml:lang rel/rev align shape/coords hspace/vsp

Microsoft Word - 01.DOC

A-1 HTML A-1-1 HTML 1 HTML JSP HTML HTML HTML JSP A HTML HTML HTML HTML HTML HTML HTML HTML.htm.html HTML Windows NotePad HTML IE [ / ] NotePad A-2

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探

1. 2. Flex Adobe 3.

本 课 程 作 为 非 计 算 机 专 业 本 科 通 识 课 程, 是 一 门 理 论 和 实 践 紧 密 结 合 的 实 用 课 程, 内 容 包 括 计 算 机 基 础 部 分 和 程 序 设 计 部 分 计 算 机 基 础 部 分 涵 盖 计 算 机 软 硬 件 组 成 数 制 表 示 操

HTML5 & CSS3 色彩 背景與漸層屬性 12-1 (color property) CSS 3 color HTML opacity HTML CSS Color Module Level 3 W3C CSS

Chapter V.S. PC

IsPostBack 2

《linux从入门到精通》实验指导第三讲:文件及目录操作

(CIP) Web /,. :, ISBN X.W T P393.4 CIP (2004) Web ( ) ( / ) : * 787

3-2 jQuery v11

PowerPoint 演示文稿

《C语言程序设计》第2版教材习题参考答案

领导,我不想写CSS代码.key

中国软件2013校园招聘通知

untitled

大漠 伪前端, 就职于淘宝

The Applicibility of Google Maps/Earth and Urmap API to Real Estate Database* Jin-Tsong Hwang** Abstract Whether the real estate market is prosperous

PowerPoint 演示文稿

无类继承.key

《C语言程序设计》教材习题参考答案

untitled

Microsoft Word - ch02.doc

天仁期末個人報告1.PDF

标题

《linux从入门到精通》实验指导第三讲:文件及目录操作

! 2000 CSSsprites.com Web FTP app 20% 80% getelementbyid() UI Facebook F8 Web CSSsprites.com Web JavaScript CSS React xi React UI UI 反應 UI 宣告 d

第 1 列 的 按 鈕 從 Albatross ~ Duck 1, 第 2 列 按 鈕 從 Eagle ~ Hawk 2, 第 3 行 按 鈕 從 Ibis ~ Lark 3, 而 只 有 第 3 列 按 鈕 多 設 定 span 元 素 ( 理 由 後 面 會 詳 細 說 明 ) html 具 h

「西醫基層總額支付委員會《第28次委員會議紀錄

無障礙網頁開發規範二版(草案)

13 根 据 各 种 网 络 商 务 信 息 对 不 同 用 户 所 产 生 的 使 用 效 用, 网 络 商 务 信 息 大 致 可 分 为 四 级, 其 中 占 比 重 最 大 的 是 ( A ) A 第 一 级 免 费 信 息 B 第 二 级 低 收 费 信 息 C 第 三 级 标 准 收 费

VB程序设计教程

F477

, 即 使 是 在 昏 暗 的 灯 光 下, 她 仍 然 可 以 那 么 耀 眼 我 没 有 地 方 去, 你 会 带 着 我 么 杜 晗 像 是 在 嘲 笑 一 般, 嘴 角 的 一 抹 冷 笑 有 着 不 适 合 这 个 年 龄 的 冷 酷 和 无 情, 看 着 江 华 的 眼 神 毫 无 温

RUN_PC連載_10_.doc

PowerPoint Presentation

<div class="mui-switch mui-active"> <div class="mui-switch-handle"> <div class="mui-switch mui-switch-blue mui-active"> <div class="mui-switch-handle"

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

计算机软件技术专业教学计划

01

final

國家圖書館典藏電子全文

Chapter 位元素04 定放棄在網頁版面中使用表格, 是 Web 標準的關鍵之一 其實表格使用的目的不在此, 它應該是用來顯示格狀資料, 就如同 Excel 的工作表一樣 不過, 在 CSS 發展以前, 我們習慣用表格來建立一個有格狀的網頁, 讓元素有組織的排列在上, 而且使用一些像間隔圖片 (

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

Hippy-VueConf

由社會發展趨勢探討國人睡眠品質

關於本書 Part 3 CSS XHTML Ajax Part 4 HTML 5 API JavaScript HTML 5 API Canvas API ( ) Video/Audio API ( ) Drag and Drop API ( ) Geolocation API ( ) Part 5

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生

epub 94-3

jquery JavaScript 框架 framework JavaScript rich web application Vue.js JavaScript Evan You Google 2014 Vue.js GitHub 75,000 GitHub 1 Vue collaborators

}; "P2VTKNvTAnYNwBrqXbgxRSFQs6FTEhNJ", " " string imagedata; if(0!= read_image("a.jpg",imagedata)) { return -1; } string rsp; ytopen_sdk m_sd

Transcription:

jquery 操作 DOM 管理科学与工程学科耿方方

主要内容 DOM 基础 访问元素 节点操作

DOM 基础 DOM(Document Object Model) 为文档提供了结构化表示方法, 通过该方法可以改变文档的内容和展示形式 在实际运用中,DOM 更像是桥梁, 通过它可以实现跨平台 跨语言的标准访问 与 DOM 密不可分的是 JavaScript 脚本技术,DOM 在 Web 前端的应用也是基于 JavaScript 实现的, 在前面的章节中我们已经讲到了在 JavaScript 中是如何进行 DOM 操作的 单词 Document 即文档, 当我们创建一个页面并加载到 Web 浏览器时, DOM 模型则根据该页面的内容创建了一个文档文件 ;Object 即对象, 是指具有独立特性的一组数据集合, 比如我们把新创建的页面文档称之为文档对象, 与对象相关联的特征称之为对象属性, 访问对象的函数称之为对象方法 ;Model 即模型, 在页面文档中, 通过树状模型展示页面的元素和内容, 而其展示方式是通过节点 (node) 来实现的

访问元素 在访问页面时, 需要与页面中的元素进行交互式的操作 在操作中, 元素的访问是最繁琐 最常用的, 主要包括对元素属性 内容 值 CSS 的操作

访问元素 属性操作 在 jquery 中, 可以对元素的属性执行获取 设置 删除操作, 通过 attr() 方法可以对元素属性执行获取与设置操作, 通过 removeattr() 则可以执行删除元素属性操作 我们可以通过 attr() 方法获取元素的属性, 其语法结构如下所示 : attr(name)

访问元素 属性操作 案例 1: <script> $(function(){ var stralt=$('img').attr("src"); stralt+="<br><br>"+$("img").attr("title"); $("#divalt").html(stralt); }); </script> </head> <body> <img src="images/7-07.jpg" title=" 这是一张画 "> <div id="divalt"></div> </body>

访问元素 属性操作 设置元素的属性 在页面中,attr() 方法不仅可以用来获取元素的属性值, 还可以设置元素的属性, 其设置元素属性的语法格式如下所示 : attr(key,value) attr({key0:value0,key1:value1})

访问元素 属性操作 设置元素的属性 另外,attr() 方法还可以绑定一个 function() 函数, 通过该函数返回的值作为元素的属性值 语法格式如下所示 : attr(key,function(index)) 其中, 参数 index 为当前元素的索引号, 整个函数返回一个字符串作为元素的属性值

访问元素 属性操作 案例 2 <style>.clsimg{ border: 2px solid #ccc;padding: 3px; float: left;} </style> <body> <img alt="" src="images/img03.jpg" width="400" height="300"> </body> <script> $(function(){ }); }); </script> $("img").attr("title"," 这是一张风景画 "); $("img").addclass("clsimg"); $("img").attr("src",function(){ return "Images/img0"+ Math.floor(Math.random()*2+1)+".jpg";

访问元素 属性操作 删除元素的属性 jquery 中通过 attr() 方法设置元素的属性后, 使用 removeattr() 方法可以将元素的属性删除, 其语法结构如下所示 : removeattr(name)

访问元素 元素内容操作 在 jquery 中, 操作元素内容的方法包含 html() 和 text(), 前者与 JavaScript 中的 innerhtml 属性相似, 即获取和设置元素的 HTML 内容 ; 而后者类似于 JavaScript 中的 innertext 属性, 即获取或设置元素的文本内容 二者的格式和功能的区别如下所示 : html() 方法仅支持 XHTML 的文档, 不能用于 XML 文档, 而 text() 则既支持 HTML 文档, 也支持 XML 文档

访问元素 元素内容操作 案例 3 <body> 应用 text() 方法设置的内容 <div id="div1"> <span id="clock1"> 当前时间 : 2013-08-30 星期五 13:20:10</span> </div> <br /> 应用 html() 方法设置的内容 <div id="div2"> <script type="text/javascript"> $(document).ready(function(){ $("#div1").text("<span style='color:#ff0000'> 我是通过 text() 方法设置的文本内容 </span>"); $("#div2").html("<span style='color:#ff0000'> 我是通过 html() 方法设置的 HTML 内容 </span>"); }); </script> <span id="clock2"> 当前时间 :2013-08-30 星期五 13:20:10</span> </div> </body>

访问元素 元素值操作 jquery 提供了 3 种对元素值操作的方法 方法说明示例 val() 用于获取第一个匹配元素的当前值, 返回值可能是一个字符串, 也可能是一个数组 例如当 select 元素有两个选中值时, 返回结果就是一个数组 $("#username").val(); username 的元素的值 // 获取 id 为 val(val) 用于设置所有匹配元素的值 $("input:text").val(" 新值 ") 文本框设置值 // 为全部 val(arrval ) 用于为 checkbox select 和 radio 等元素设置值, 参数为字符串数组 $("select").val([' 列表项 1',' 列表项 2']); // 为下拉列表框设置多选值

访问元素 元素值操作 案例 4 <body> < s e l e c t n a m e = " l i k e " s i z e = " 4 " multiple="multiple" id="like"> <option> 列表项 1</option> <option s elected="s elec ted"> 列表项 2</option> <option> 列表项 3</option> <option s elected="s elec ted"> 列表项 4</option> <script type="text/javascript"> $(document).ready(function(){ var strsel=$("select").val().join(","); alert(strsel); }); </script> </select> </body>

访问元素 元素样式操作 jquery 对元素的 CSS 样式操作可以通过修改 CSS 类或者 CSS 的属性来实现 通过修改 CSS 类实现 方法说明示例 addclass(class) removeclass(class) toggleclass(class) toggleclass(class,s witch) 为所有匹配的元素添加指定的 CSS 类名 从所有匹配的元素中删除全部或者指定的 CSS 类 如果存在 ( 不存在 ) 就删除 ( 添加 ) 一个 CSS 类 如果 switch 参数为 true 则加上对应的 CSS 类, 否则就删除, 通常 switch 参数为一个布尔型的变量 $("div").addclass("user red"); // 为全部 div 元素添加 user 和 red 两个 CSS 类 $("div").removeclass("line"); // 删除全部 div 元素中添加的 CSS 类 line $("div").toggleclass("blue"); // 当匹配的 div 元素中存在 CSS 类 blue, 则删除该类, 否则添加该 CSS 类 $("img").toggleclass("show",true); // 为 img 元素添加 CSS 类 show $("img").toggleclass("show",false); // 为 img 元素删除 CSS 类 show

访问元素 元素样式操作 案例 5 <style> p{padding: 5px;width: 220px;}.cls1{font-weight: bold;font-style: italic;}.cls2{border: 1px solid #666;background-color: #eee;} </style> <script src="jquery/jquery-3.2.1.js" type="text/javascript"></script> <script> $(function(){ $("p").click(function(){ $(this).addclass("cls1 cls2"); }); }); </script> <body> <p>write Less Do More</p> </body>

访问元素 元素样式操作 案例 6 <style>.clsimg{border: 1px solid #666;padding: 3px;} </style> <script src="jquery/jquery-3.2.1.js" type="text/javascript"></script> <script> $(function(){ $("img").click(function(){ $(this).toggleclass("clsimg"); }); }); </script> </head> <body> <img src="images/img01.jpg" alt="" title=" 风景 " width="400" height="300"> </body>

访问元素 元素样式操作 jquery 对元素的 CSS 样式操作可以通过修改 CSS 类或者 CSS 的属性来实现 通过修改 CSS 属性实现 方法说明示例 css(name) css(name,value) css(properties) 返回第一个匹配元素的样式属性 为所有匹配元素的指定样式设置值 以 { 属性 : 值, 属性 : 值, } 的形式为所有匹配的元素设置样式属性 $("div").css("color"); // 获取第一个匹配的 div 元素的 color 属性值 $("img").css("border","1px solid #000000"); // 为全部 img 元素设置边框样式 $("tr").css({ "background-color":"#0000ff",// 设置背景颜色 "font-size":"16px", // 设置字体大小 "color":"#ffffff" // 设置字体颜色 });

访问元素 元素样式操作 案例 7 <style> p{padding: 5px;width: 220px;} </style> <script src="jquery/jquery-3.2.1.js" type="text/javascript"></script> <script> $(function(){ $("p").click(function(){ $(this).css("font-weight","bold"); $(this).css("font-style","italic"); $(this).css("background-color","#eee"); }) }) </script> </head> <body> <p>write Less Do More</p> </body>

节点操作 创建节点元素 整个页面是一个 DOM 模型, 页面中各元素通过模型的节点相互关联形成树状 因此, 如果要在页面中增加某个元素, 只需要找到元素的上级节点, 通过函数 $(html) 完成元素创建后, 增加到该节点中 函数 $() 用户动态创建页面元素, 其语法格式如下 : $(html) 其中, 参数 html 表示用于动态创建 DOM 元素的 HTML 标记字符串, 即如果要在页面中动态创建一个 div 标记, 并设置其内容和属性, 可以加入如下代码 : var $div=$( <div title='jquery 理念 '> write less do more<div> ); $( body ).append($div);

节点操作 创建节点元素 另外一种方法就是先创建新元素, 二是将新元素插入到文档中 例如 : var $p=$( <p></p> ); $p.html( <span style='color:#ff0000'> 要添加的内容 </span> ); $( body ).append($div);

节点操作 插入节点 插入结点 在 jquery 中, 有很多的方法可以实现该功能, 我们前面例子中用到的 append() 方法仅仅是其中的一种, 按照插入元素的顺序类划分, 可以将插入节点分为内部和外部两种插入方法 内部插入节点 在元素内部插入节点就是向元素中添加子元素和内容

节点操作 元素样式操作 案例 8 <script> $(function(){ $("div").append(rethtml); function rethtml(){ var str="<b>write Less Do More</b>"; return str; }; }); </script> </head> <body> <div>jquery</div> </body>

节点操作 元素样式操作 案例 9 <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("<b> Hello World!</b>").appendTo("p"); }); }); </script> </head> <body> <p>this is a paragraph.</p> <p>this is another paragraph.</p> <button> 在每个 p 元素的结尾添加内容 </button> </body>

节点操作 插入节点 插入结点 外部插入节点

节点操作 元素样式操作 案例 10 <script> $(function(){ $("span").after(rethtml); function rethtml(){ var str="<span><b>write Less Do More</b></span>"; return str; }; }); </script> </head> <body> <span>jquery</span> </body>

节点操作 复制节点 复制节点 在页面中, 有时候需要将某个元素节点复制到另外一个节点后, 在 jquery 中可以通过 clone() 方法来实现节点的复制, 其语法结构如下所示 : clone();

节点操作 复制节点 案例 11 <script> $(function(){ $("img").click(function(){ $(this).clone(true).appendto("span"); }) }); </script> </head> <body> < s p a n > < i m g s r c = " I m a g e s / i m g 01. j p g " a l t = " " w i d t h = " 200" height="100"></span> </body>

节点操作 替换节点 替换节点 在 jquery 中, 如果要替换元素中的节点, 可以使用 replacewith() 和 replaceall() 这两种方法, 其语法结构如下所示 : replacewith(content) replaceall(selector)

节点操作 替换节点 案例 12 <script> $(function(){ $("#span1").replacewith("<span> 套郭荣 </span>"); $("<span>gfhactcm@126.com</span>").replaceall("#span2"); }); </script> </head> <body> <p> 姓名 :<span id="span1"></span></p> <p> 邮箱 :<span id="span2"></span></p> </body>

节点操作 包裹节点 包裹结点 在 jquery 中, 不仅可以通过方法替换元素节点, 还可以根据需求包裹某个指定的节点, 对节点的包裹也是 DOM 对象操作中很重要的一项, 其与包裹节点相关的全部方法如下表所示 :

节点操作 包裹节点 案例 13 <script> $(function(){ $("#span1").replacewith("<span> 套郭荣 </span>"); $("<span>gfhactcm@126.com</span>").replaceall("#span2"); }); </script> </head> <body> <p> 姓名 :<span id="span1"></span></p> <p> 邮箱 :<span id="span2"></span></p> </body>

节点操作 遍历节点 遍历节点 在 DOM 元素操作中, 有时需要对统一标记的全部元素进行统一操作 在 JavaScript 中, 需要先获取元素的总长度, 然后用 for 循环语句, 循环处理 而在 jquery 中可以直接使用 each() 方法轻松实现元素的遍历, 其语法结构如下所示 : each(callback)

节点操作 遍历节点 案例 14 <script> $(function(){ $("img").each(function(index){ this.title=" 第 "+ index+" 风景图片,alt 内容是 "+this.alt; }); }); </script> </head> <body> <img src="images/img01.jpg" alt=" 第 0 幅风景图 " width="300" height="160"> <img src="images/img02.jpg" alt=" 第 1 幅风景图 " width="300" height="160"> <img src="images/img03.jpg" alt=" 第 2 幅风景图 " width="300" height="160"> </body>

节点操作 删除节点 删除节点 在 DOM 操作页面时, 删除多余或指定的页面元素时非常必要的, jquery 提供了两种可以删除元素的方法, 即 remove() 和 empty(), 严格的说 empty() 方法并非真正意义上的删除, 使用该方法, 仅仅可以清空全部的节点或节点所包含的所有后代元素, 并非删除节点与元素 remove() 方法的语法结构如下所示 : remove([expr]) empty() 方法语法结构如下所示 : empty()

节点操作 删除节点 案例 15 <script> $(function(){ $("button").click(function(){ $("p").remove(); }); }); </script> </head> <body> <p> 这是一个段落 </p> <p> 这是另一个段落 </p> <button> 删除所有 p 元素 </button> </body>