Jquery中的parent()与parents()取父元素的区别
关于Jquery的parent和parents
parent是指取得一个包含着所有匹配元素的唯一父元素的元素集合。
parents则是取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。
可以看出parent取的很明确,就是当前元素的父元素;parents则是当前元素的祖先元素。下面列出例子说明:
<div id='div1'>
<div id='div2'><p></p></div>
<div id='div3' class='a'><p></p></div>
<div id='div4'><p></p></div>
</div>
$('p').parent()取到的是div2,div3,div4
$('p').parent('.a')取到的是div3
$('p').parent().parent()取到的是div1,这点比较奇特;不过Jquery对象本身的特点决定了这是可行的。
$('p').parents()取到的是div1,div2,div3,div4
$('p').parents('.a')取到的是div3
parent(exp)用法:取得一个包含着所有匹配元素的唯一父元素的元素集合。
- <script src="jquery-1.2.6.min.js" type="text/javascript"></script>
- <script type="text/javascript">
- $(document).ready(function() {
- $("#btn1").click(function(){
- alert($(this).parent().next().html());
- });
- });
- </script>
- </head>
- <body>
- <table>
- <tr>
- <td><input id="btn1" class="btn" type="button" value="test"/></td>
- <td>some text</td>
- </tr>
- </table>
- ....
- this.parent()是input前面的td
- this.parent().parent()获取的是tr
- this.parent().parent().parent()获取的是table
- this.parent().next()获取的是td相临的td
另例子中:
<div><p>Hello</p><p>Hello</p></div>
$("p").parent() 得到的是:<div><p>Hello</p><p>Hello</p></div>对象,因为p标签的父标签是div.
jquery的parents()使用
今天遇到一个有意思的问题,jquery有两个函数parent()和parents().通过这两个函数可以找到一个对象的父对象,又称作jquery的选择器。举个例子:
<body> <div id="one"> <div id="two">hello</div> <div id="three"> <p> <a href="#">tonsh</a> </p> </div> </div>
$(”a”).parent()将会得到父对象<p>
$(”a”).parents()得到父对象为<p><div.3><div.1>
$(”a”).parents().filter(”div”)将得到<div.3><div.1>,还可以写成$(”a”).parents(”div”)。
如果想的到<div.2>对象可以写成这样:$(”a”).parents(”div:eq(0)”)。
如果点击<a>链接时弹出<div.2>中的内容该怎么办?
var id=$("a").parents("div:eq(1)").children("div:eq(0)").html();
alert(id);
Jquery中的parent()与parents()取父元素的区别相关推荐
- jQuery中的closest()和parents()的差别
jQuery中的closest()和parents()的差别 jQuery中closest()和parents()的作用非常类似,都是向上寻找符合选择器条件的元素,可是他们之间有一些细微的差别,官网也 ...
- jquery遍历之parent()和parents()的区别及parentsUntil()方法详解
转正于:http://www.jb51.net/article/44003.htm 没有图片,请看上面的原文 这篇文章主要介绍了jquery遍历之parent()和parents()的区别及paren ...
- jquery中remove()方法移除被选元素,包括所有的文本和子节点
jquery中remove方法移除被选元素,包括所有的文本和子节点 定义和用法 移除所有的 元素 移除html中指定id的元素内容 定义和用法 remove() 方法移除被选元素,包括所有的文本和子节 ...
- jQuery中的parent方法、parents方法
一.parent()方法: parent([expr]) :取得一个包含着所有匹配元素的唯一父元素的元素集合. html代码如下: <form><input type="r ...
- jquery遍历之parent()与parents()的区别 及 parentsUntil() 方法
.parent(selector) 获得当前匹配元素集合中每个元素的父元素,由选择器筛选(可选). .parents(selector) 获得当前匹配元素集合中每个元素的祖先元素,由选择器筛选(可选) ...
- vue学习:事件传递(冒泡和捕获),事件委托,jquery中的事件委托,$event 获取元素,vue事件修饰符
事件传递 ----冒泡和捕获 DOM事件标准定义了两种事件流,这两种事件流分别是捕获和冒泡. 和许多Web技 术一样,在它们成为标准之前,Netscape和微软各自不同地实现了它们.Netscape选 ...
- jQuery中append()、prepend()与after()、before()的区别
原文地址:https://www.cnblogs.com/afei-qwerty/p/6682963.html 在jQuery中,添加元素有append().prepend()和 after().be ...
- 如何寻找数组中最大值与最小值(取双元素法)
取双元素法.维持两个变量MAX_VALUE和MIN_VALUE,MAX_VALUE标记为最大值,MIN_VALUE标记为最小值,每次比较相邻的两个数,较大者与max比较,较小者与min比较,通过比较找 ...
- html load方法的区别,jQuery 中的.load()、$get()、$,post()用法和区别
.load()方法是局部方法,因为他需要一个包含元素的jQuery 对象作为前缀.而$.get()和$.post()是全局方法,无须指定某个元素.对于用途而言,.load()适合做静态文件的异步获取, ...
最新文章
- 蓝桥杯审核要多久_商标审核要多久?
- wireshark应用--wireshark原来那么简单
- 人工智能的本质:最优化 (神经网络优化算法python手写实现)
- python找出矩阵中的马鞍点_矩阵的马鞍点
- JDBC(九)DatabaseMetaData 数据库元数据
- 这三个Offer,你怎么选?
- Halcon算子学习:create_surface_model
- php如何打印程序运行时间,php计算程序运行时间的简单实例 - microtime
- java封装数组_Java封装数组之动态数组实现方法详解
- SQLServer基础之数据页类型:GAM,SGAM,PFS
- float 为什么可以表示很大的整数
- 面试Python时,面试官最喜欢问这些技术问题
- 打开文件、网页、文件夹等
- 阿里电话面试(算法工程师)
- Android View事件分发机制
- 什么是搜索引擎关键词?搜索引擎关键词优化
- c# 身份证地区码返回地区名 [对照表]
- 最新公路测量计算机,工地通路测电脑版
- 林亦杉厦门大学计算机学院,挥别厦大,点燃未来-厦门大学计算机科学系
- Alios things资料篇