Html遍历dom树,jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
在这个sprint中,因为要写前端UI,所以用到了jQuery,但是jQuery在向上遍历DOM树的API中,有parents()、 parent()、closest()这几个,一直不太清楚它们具体的区别,所以狠下心好好读了一下jQuery的API文档,并把区别记在这里,以供参考。
1.parents([selector])
本方法用于选择给定jQuery对象中包含的DOM元素或者DOM元素集的祖先节点,并将这些节点包装成jQuery对象返回,返回的节点集是以从里到外的顺序排序的。
同时,本方法还接受一个字符串选择器,用于从返回的节点集中筛选符合选择器的子元素集。
2.parent([selector])
本方法用于选择给定jQuery对象中包含的DOM元素或者DOM元素集的父节点。它和parents()不同的是,它只向上搜索一层,而parents()会搜索整个DOM树。
本方法也可以接受一个字符串选择器,用于筛选返回的元素。
有人可能会问:一个DOM元素的父元素不是只有一个么,为什么还要一个selector选择器进行筛选呢?其实一个jQuery对象可能包含有很多个DOM元素,例如$('a').parent()就是选择所有标签的父元素,这样返回的就是一个元素集,所以可以进行筛选。
3.closest(selector)
本方法用于向上遍历jQuery对象中包含的DOM元素或者DOM元素集的祖先节点,直到找到符合selector选择器的节点为止。
它和parents()的区别:
closest()从自身开始向上遍历,直到找到一个适合的节点,返回的jQuery对象包含0个或者1个对象;
parents()从自身的父节点开始向上遍历,返回所有祖先节点,并根据选择器对这些节点进行筛选,最终返回的jQuery对象可能包含0、1或者多个对象。
一个能说明区别的例子:
a test document
My parents
在上述文档中:
$('b').parents()将返回:由span、p、div、body、html等元素构造的jQuery对象;
$('b').parent()将返回:由span构造的jQuery对象;
$('b').closest('div')将返回:由div构造的jQuery对象。
Html遍历dom树,jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别相关推荐
- jQuery过滤、遍历同级元素、向上遍历、向下遍历
话不多说,直接贴代码(我只是希望能在温习原生js的同时,发现一些有趣的东西!) .html: <!DOCTYPE html> <html> <head> <m ...
- jQuery基础二DOM操作
DOM:Document Object Model的缩写,中文是文档对象模型,根据W3C DOM规范(htttp://www.w3.org/DOM ),它是一种与浏览器.平台.语言无关的接口,该接口可 ...
- jQuery对象和DOM对象互转的问题、jQuery文件引入问题、DOM版本的网页开关灯
jQuery对象和DOM对象互转的问题 <!DOCTYPE html> <html lang="en"> <head><meta char ...
- jQuery对象与DOM对象的区别
突然想起以前实验室的老师同学,放一张照片怀念一下大学时光~ jQuery对象: 什么是jQuery对象?说直白点,就是用jQuery方法获取到的对象,例如: var $obj = $("#u ...
- jQuery中的DOM遍历方法
一.向上遍历 1. parent() 获取元素的直接父元素 $("span").parent().css({"color":"red",&q ...
- 【总结整理】JQuery基础学习---DOM篇
前言: 先介绍下需要用到的浏览器提供的一些原生的方法(这里不处理低版本的IE兼容问题) 创建流程比较简单,大体如下: 创建节点(常见的:元素.属性和文本) 添加节点的一些属性 加入到文档中 流程中涉及 ...
- 三、jQuery 中的 DOM 操作(超详细)
文章目录 前言 一. DOM 介绍 二. 查找节点 2.1查找元素节点 2.2查找属性节点 三. 创建节点 3.1.创建元素节点 3.2.创建文本节点 3.3.创建属性节点 四.插入节点 4.1 DO ...
- jQuery - 元素遍历
前言: 一提到"遍历",大家一般都能联想到 each() 或者 for()等语法,但是在jQuery中究竟什么是遍历? 什么是遍历: jQuery 遍历,意为"移动 ...
- Jquery基础之DOM操作
Jquery基础之DOM操作 Dom是Document Object Model的缩写,意思是文档对象模型.DOM是一种与浏览器.平台.语言无关的接口,使用该接口可以轻松访问页面中所有的标准组件.DO ...
最新文章
- 第15章节-Python3.5-Django实现用户登录与前端交互2 14
- boost::fusion::pair用法的测试程序
- js一个大盒子中有三个小盒子_寒假预习:一万有多大,数一数估一估,亲身感觉一万有多大...
- html++标签页+界面,CSS+DIV实现多标签页面。
- matlab 03d,randomforest-matlab 一个 实现 的源代码,里面有使用说明和范例 Data Mining 数据挖掘 242万源代码下载- www.pudn.com...
- 在单位用oracle备份到磁带的脚本(看不明白的地方交流)
- Python Pandas General functions(静态方法)
- python之判断一个值是不是可以被调用
- C#对MySql进行增删该查
- 我的小站:诗词在线 http://www.chinapoesy.com 欢迎大家测试速度。特别是网通的。...
- 怎么在linux中运行gamess,桌面应用|在 Linux 中怎么运行 MS-DOS 游戏和程序
- serialVersionUID作用
- 重构之前的数据统计,用于数据归档,要考虑数据迁移
- Python3+Scrapy实现网页爬虫
- tplink虚拟服务器 tcp,关于TP-Link路由器端口映射详解
- Python批量自动下载获取图片
- matlab画动物轮廓图,MATLAB一维插值的应用实例—画左右手的轮廓图
- 得到一个数每一位数字的几种方法
- java锁的种类以及辨析(一):自旋锁
- 条形码技术在供应链管理中的作用
热门文章
- Redhat 6.2(64位) 及 Oracle 11.2.0.4(64位)安装随笔
- 关于数据仓库的设计!
- 天之痕java版与ios版_iOS 获取当前app的名称和版本号
- Yarn 任务缓存数据和HistoryServer 历史任务日志数据清理
- 计算机软件录音注意事项,录音笔怎么用(录音笔的使用方法及注意事项)
- 巨头纷纷布局分布式云,一场新的云战争即将打响
- Linux操作系统学习笔记(三十)docker和k8s的恩怨情仇
- 考虑新西兰留学,什么专业好移民呢?
- 2023服装厂erp生产管理系统有哪些?该如何选择?
- 315晚会回顾:手机充电站可控制你的手机、软件合成照片秒破人脸识别