jQuery 基础教程 (四)之jQuery中的DOM操作
一、jQuery 中的 DOM 操作
(1)DOM(Document Object Model—文档对象模型):一 种与浏览器, 平台, 语言无关的接口, 使用该接口可以 轻松地访问页面中所有的标准组件
(2)DOM 操作的分类:
(A)DOM Core: DOM Core 并不专属于 JavaScript, 任何一 种支持 DOM 的程序设计语言都可以使用它. 它的用途 并非仅限于处理网页, 也可以用来处理任何一种是用标 记语言编写出来的文档, 例如: XML
(B)HTML DOM: 使用 JavaScript 和 DOM 为 HTML 文 件编写脚本时, 有许多专属于 HTML-DOM 的属性
(C)CSS-DOM:针对于 CSS 操作, 在 JavaScript 中, CSSDOM 主要用于获取和设置 style 对象的各种属性
二、查找节点
(1)查找元素节点:
通过 jQuery 选择器完成.
(2)查找属性节点:
查找到所需要的元素之后, 可以 调用 jQuery 对象的 attr() 方法来获取它的各种 属性值
四、创建节点
(1)创建节点:
使用 jQuery 的工厂函数 $(): $(html); 会根 据传入的 html 标记字符串创建一个 DOM 对象, 并把 这个 DOM 对象包装成一个 jQuery 对象返回.
(2)注意:
动态创建的新元素节点不会被自动添加到文档中, 而是 需要使用其他方法将其插入到文档中;
当创建单个元素时, 需注意闭合标签和使用标准的 XHTML 格式. 例如创建一个<p>元素, 可以使用 $("<p/>") 或 $("<p></p>"), 但不能使用 $("<p>") 或 $("<P>")
(3)创建文本节点就是在创建元素节点时直接把文本内容 写出来; 创建属性节点也是在创建元素节点时一起创 建
五、插入节点
(1)动态创建了 HTML 元素之后, 还需要将新 创建的节点插入到文档中, 即成为文档中某 个节点的子节点
以上方法不但能将新创建的 DOM 元素插入到文 档中, 也能对原有的 DOM 元素进行移动.
(2)创建节点和插入节点示例
var newP =$("<p>武广高速铁路即将通车!</p>");
newP.insertAfter(“#chapter”); //将创建的newP元素插入到ID为#chapter的元素之后//或者
newP.appendTo(“body”); //插入到body元素里
六、删除节点
(1)remove()
从 DOM 中删除所有匹配的元素, 传入的参数用于根据 jQuery 表达式来筛选 元素. 当某个节点用 remove() 方法删除后, 该节点所包含的所有后代节点将被同时删 除. 这个方法的返回值是一个指向已被删除 的节点的引用.
(2)empty()
清空节点 – 清空元素中的所有后 代节点(不包含属性节点).
七、复制节点
(1)clone()
克隆匹配的 DOM 元素, 返回 值为克隆后的副本. 但此时复制的新节 点不具有任何行为.
(2)clone(true)
复制元素的同时也复制元 素中的的事件
八、替换节点
(1)replaceWith()
将所有匹配的元素都替换为 指定的 HTML 或 DOM 元素
(2)replaceAll()
颠倒了的 replaceWith() 方法.
注意: 若在替换之前, 已经在元素上绑定了 事件, 替换后原先绑定的事件会与原先的元 素一起消失
九、包裹节点
(1)wrap()
将指定节点用其他标记包裹起来. 该方法对于需要在文档中插入额外的结构 化标记非常有用, 而且不会破坏原始文档的 语义. (2)wrapAll()
将所有匹配的元素用一个元素来包裹. 而 wrap() 方法是将所有的元素进行单独包裹.
(3)wrapInner()
将每一个匹配的元素的子内容(包括文本节点)用其他结构化标记包裹起 来
十、属性操作
(1)attr(): 获取html属性和设置属性
当为该方法传递一个参数时, 即为某元素的获取指定属性
当为该方法传递两个参数时, 即为某元素设置 指定属性的值
(2)jQuery 中有很多方法都是一个函数实现获取和设 置.
如: attr(), html(), text(), val(), height(), width(), css() 等.
(3)removeAttr(): 删除指定元素的指定属性
十一、样式操作
(1)获取 class 和设置 class
class 是元素的一个属性, 所以获取 class 和设置 class 都可以使用 attr() 方 法来完成.
(2)追加样式
addClass()
(3)移除样式
removeClass() --- 从匹配的元素中删除 全部或指定的 class
(4)切换样式
toggleClass() --- 控制样式上的重复切 换.如果类名存在则删除它, 如果类名不存在则添 加它.
(5)判断是否含有某个样式
hasClass() --- 判断元素中 是否含有某个 class, 如果有, 则返回 true; 否则返 回 false
十二、设置和获取 HTML, 文本和值
(1)读取和设置某个元素中的 HTML 内容
html() . 该 方法可以用于 XHTML, 但不能用于 XML 文档
(2)读取和设置某个元素中的文本内容
text(). 该方法 既可以用于 XHTML 也可以用于 XML 文档.
(3)读取和设置某个元素中的值
val() --- 该方法类似 JavaScript 中的 value 属性. 对于文本框, 下拉列 表框, 单选框该方法可返回元素的值(多选框只能 返回第一个值).如果为多选下拉列表框, 则返回一 个包含所有选择值的数组
(4)val() 方法的两个练习
十三、常用的遍历节点方法
(1)取得匹配元素的所有子元素组成的集合
children(). 该方法只考虑子元素而不考虑任 何后代元素.
(2)取得匹配元素后面紧邻的同辈元素的集合 (但集合中只有一个元素)
next()
(3)取得匹配元素前面紧邻的同辈元素的集合 (但集合中只有一个元素)
prev()
(4)取得匹配元素前后所有的同辈元素
siblings()
十四、CSS-DOM 操作
(1)获取和设置元素的样式属性
css()
获取和设置元素透明度 opacity 属性
(2)获取和设置元素高度, 宽度: height(), width(). 在设 置值时, 若只传递数字, 则默认单位是 px. 如需要 使用其他单位则需传递一个字符串, 例如 $(“p:first”).height(“2em”);
(3)获取元素在当前视窗中的相对位移: offset(). 其返回对象包含了两个属性: top, left. 该方法只对可见元素有效
十五、jQuery 中的事件 -- 加载 DOM
在页面加载完毕后, 浏览器会通过 JavaScript 为 DOM 元素添加事件. 在常规 的 JavaScript 代码中, 通常使用 window.onload 方法, 在 jQuery 中使用 $(document).ready() 方法.
十六、事件绑定
(1)对匹配的元素进行特定的事件绑定
bind()
(2)实例
十七、合成事件
(1)hover()
模拟光标悬停时间. 当光标移动到元 素上时, 会触发指定的第一个函数, 当光标移 出这个元素时, 会触发指定的第二个函数.
(2)toggle()
用于模拟鼠标连续单击事件. 第一次 单击元素, 触发指定的第一个函数, 当再一次 单击同一个元素时, 则触发指定的第二个函 数, 如果有更多个函数, 则依次触发, 直到最 后一个.
toggle() 的另一个作用: 切换元素的可见状态
十八、事件冒泡
(1)事件会按照 DOM 层次结构像水泡一样不 断向上只止顶端
(2)解决: 在事件处理函数中返回 false, 会对事 件停止冒泡. 还可以停止元素的默认行为.
十九、事件对象的属性
(1)事件对象
当触发事件时, 事件对象就被创 建了. 在程序中使用事件只需要为函数添加 一个参数. 该事件对象只有事件处理函数才 能访问到. 事件处理函数执行完毕后, 事件 对象就被销毁了.
(2)event.pageX, event.pageY
获取到光标相对 于页面的 x, y 坐标.
二十、移除事件
(1)移除某按钮上的所有 click 事件
$(“btn”).unbind(“click”)
(2)移除某按钮上的所有事件:
$(“btn”).unbind();
(3)one()
该方法可以为元素绑定处理函数. 当处理函 数触发一次后, 立即被删除. 即在每个对象上, 事件 处理函数只会被执行一次.
$('a').one("click",function(){alert('just one click and remove");return false;
});
jQuery 基础教程 (四)之jQuery中的DOM操作相关推荐
- 【QT 基础教程 四】QT中的控件与事件
概要:这期主要讲解Qt中的控件和事件的概念.然后,我还会简单介绍一些常见的控件以及事件. Qt控件是什么? Qt 控件又称组件或者部件,指用户看到的所有可视化界面以及界面中的各个元素.比如按钮.文本框 ...
- python 游戏辅助lol_绝地助手_(Python基础教程之八)Python中的list操作
服务器软件大扫盲彩虹六号辅助有序 索引(索引从0最先) 易变的 异构的(列表中的项目不必是统一类型) 写为方括号之间的逗号分开值列表 listOfSubjects = ['physics', 'che ...
- (转)jquery基础教程八 load方法及小技巧
首先我们看看手册上的描述 load(url, params, callback) 装入一个远程HTML内容到一个DOM结点. 注意:避免用装入的scripts脚本,装入脚本改用$.getScript. ...
- jQuery 3教程(三):jQuery集合
原文地址:jQuery 3教程(三):jQuery集合 Introduction jQuery选择器选择出来的结果很多时候是一个DOM元素集而非单个元素,jQuery可以灵活的访问和修改DOM元素集, ...
- Spring Cloud Alibaba基础教程:Sentinel Dashboard中修改规则同步到Nacos
上一篇我们介绍了如何通过改造Sentinel Dashboard来实现修改规则之后自动同步到Apollo.下面通过这篇,详细介绍当使用Nacos作为配置中心之后,如何实现Sentinel Dashbo ...
- jQuery——入门(四)JQuery 事件
jQuery--入门(四)JQuery 事件 一.事件初探 加载文档完成触发: window.onload = function(){} //js $(window).load(function( ...
- jQuery学习(四)— jQuery的ready事件和原生JS的load事件的区别
jQuery学习(四)- jQuery的ready事件和原生JS的load事件的区别 jQuery的ready事件和原生JS的load事件的区别: 页面中可以有多个ready事件,而load事件会出现 ...
- jquery系列教程7-自定义jquery插件全解:对象函数、全局函数、选择器
点击打开: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件操作全解 jquery系列教程5-动 ...
- 三、jQuery 中的 DOM 操作(超详细)
文章目录 前言 一. DOM 介绍 二. 查找节点 2.1查找元素节点 2.2查找属性节点 三. 创建节点 3.1.创建元素节点 3.2.创建文本节点 3.3.创建属性节点 四.插入节点 4.1 DO ...
最新文章
- 【翻译 windbg - 1】Getting started with windbg - part I (第一部分 1)
- html怎么自动设为底部,让底部永远在页面最底部显示的css方法
- 手把手教你玩转ARP包(一)
- Node.js 应用故障排查手册 —— 综合性 GC 问题和优化
- RFI to RCE challenge
- 歌谣舞台_高光时刻 || 哈油宝藏男孩沈家麒登上吉林卫视和广东卫视青春歌谣舞台!...
- Python[8] :paramiko模块多进程批量管理主机
- 硬核!尽量避免 bug 手法,让测试彻底失业
- 计算机控制面板没,没有nvidia控制面板,手把手教你电脑没有nvidia控制面板
- 本来共享的计算机突然无法访问,WIN7局域网无法启用共享访问解决办法
- python 正则表达式 前瞻_Python的正则表达式
- 【中医学】10 针灸-2:常用腧穴
- Android 读取本地txt文件中的内容
- 14宽的键槽深度多少_平键和键槽的标准尺寸规格表
- 关于全站仪自建坐标系知识梳理
- 立创商城pcb封装导入
- 导航电子地图制作甲级测绘资质
- Transactional(事务)
- 小议技术业务孰重孰轻-既不能重文轻武,也不能重业务轻技术
- 天舟四号“太空快递”都送了啥?
热门文章
- 数据结构 快速排序(详解)
- webpack实战之手写一个loader和plugin
- C++ 基类,子对象,派生类构造函数调用顺序
- [C++STL]C++实现list容器
- gitlab 删除分支_初识gitlab工作流
- java 最少使用(lru)置换算法_LRU算法详解及最简单的Java实现
- python os模块详细_python之os模块详解
- 计算机网络----wireshark抓包
- linux系统中变量,Linux系统中的环境变量知识详解
- 分析股票大数据_Python大数据分析量学祖师爷网站数据