parent,parents和closest

1.parent

parent() 获得当前匹配元素集合中每个元素的父元素,使用选择器进行筛选是可选的。

 1 <ul id="menu" style="width:100px;">
 2         <li>Start</li>
 3     <li>
 4         <ul>
 5             <li>
 6                 <ul>
 7                     <li><a href="#">Home</a></li>
 8                 </ul>
 9
10             </li>
11             <li>middle</li>
12         </ul>
13     </li>
14     <li>End</li>
15 </ul>
1 $("#menu a").click(function() {
2        $(this).parent("ul").css("background", "yellow");//无效
3         $(this).parent("li").parent("ul").css("background", "yellow");
4 }

第二行是无效的。因为a的父级是li而不是ul.第三行会使Home外的ul背景变黄色。

2.parents

parents() 获得当前匹配元素集合中每个元素的祖先元素,使用选择器进行筛选是可选的。

1 $("#menu a").click(function() {
2        $(this).parents("ul").css("background", "yellow");}

整个背景都会变黄。

3.closest

closest() 方法获得匹配选择器的第一个祖先元素,从当前元素开始沿 DOM 树向上。

1 $("#menu a").click(function() {
2        $(this).parent("ul").css("background", "yellow");
3 }

只有home外的ul的背景变黄

三者联系:

1 $("#menu a").click(function() {
2        $(this).parent("li").parent("ul").css("background", "yellow");
3        $(this).parents("ul").eq(0).css("background", "yellow");
4        $(this).closest("ul").css("background", "yellow");
5
6 });

以上2 3 4行达到的效果是一致的。

时间: 2024-10-02 07:53:05

parent,parents和closest的相关文章

jQuery查找——parent/parents/parentsUntil/closest

jquery的parent(),parents(),parentsUntil(),closest()都是向上查找父级元素,具体用法不同 parent():取得一个包含着所有匹配元素的唯一父元素的元素集合. parents():沿 DOM 树向上遍历,直到文档的根元素(<html>)为止,将每个祖先元素添加到一个临时的集合:如果应用了选择器,则会基于该选择器对这个集合进行筛选.返回零个.一个或多个元素. closest():沿 DOM 树向上遍历,直到找到已应用选择器的一个匹配为止.返回零个或一

parent(),parents()与closest()的区别与详解

方法 例子 描述 parent() ????????????????????? 获得集合中每个匹配元素的父级元素 $('.item-1').parent().css('background-color','red'); parent()方法从指定类型的直接父节点开始查找. parent()返回一个元素节点. parents() ????? 获得集合中每个匹配元素的祖先元素 $('.item-1').parents('ul').css('background-color','red'); pare

JQuery包装集size,length,index,slice,find,filter,is,children,next,nextAll,parent,parents,closest,siblings,add,end,andSelf的用法

在使用Jquery包装集的知识之前首先要注意三个概念(当前包装集.新包装集.包装集内部元素)的区别. 1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 5 <

jquery中closest()parent() parents 区别

parent是找当前元素的第一个父节点,不管匹不匹配都不继续往下找 parents是找当前元素的所有父节点  closest() 是找当前元素的所有父节点 ,直到找到第一个匹配的父节点 parent().parents()与closest()方法两两之间有类似又有不同,本篇简短的区分一下这三个方法.通过本篇内容,大家将会在以后使用.parent().parents()和closest()时不会显得无从下手. 我们直接看例子来来说明一下这三个方法的使用区别: [html] view plain c

jquery parent() parents() closest()区别

parent是找当前元素的第一个父节点,不管匹不匹配都不继续往下找 parents是找当前元素的所有父节点  closest() 是找当前元素的所有父节点 ,直到找到第一个匹配的父节点 parent().parents()与closest()方法两两之间有类似又有不同,本篇简短的区分一下这三个方法.通过本篇内容,大家将会在以后使用.parent().parents()和closest()时不会显得无从下手. 我们直接看例子来来说明一下这三个方法的使用区别: 1 <ul id="menu&q

DOM——遍历.parent()、.parents()、.closest()和.next()

遍历.parent()..parents()..closest()和.next() 1   .parent()快速查找合集里面的每一个元素的父元素,即父亲与儿子的关系,因为是父元素,所以只会向上查找一级 2   .parent()无参数,能够在DOM树中搜索到这些元素的父级元素,有序的向上匹配元素,并根据匹配的元素创建一个新的JQuery对象 3   .parent()选择性地接受同一型选择器表达式,需要对这个合集对象进行一定的筛选,找出目标元素,允许传一个选择器的表达式 4   .parent

BeautifulSoup的高级应用 之.parent .parents .next_sibling.previous_sibling.next_siblings.previous_siblings

继上一篇BeautifulSoup的高级应用,主要解说的是contents children descendants string strings stripped_strings.本篇主要解说.parent .parents .next_sibling .previous_sibling .next_siblings .previous_siblings 本篇博客继续使用上篇的html页面内容: html_doc = """ <html> <head>

jQuery中parent(), parents(), parentsUntil() 3个函数的区别

现象:在试用JQuery的时候遇到元素查找,过程中使用parentsUntil()和next()函数,但是老是得到undefined 原因:在jQuery官方文档中描述的这3个函数都返回jquery对象,实际则不是,parent()函数返回jquery对象,返回的是单个父元素对象,而parents()函数和parentsUntil()函数其中有个s,表明返回的是1个数组,parentsUntil()很逗,返回的是不包括选择器一级的父元素,比如你选择器写1个div,它并不返回包含这个 div的元素

jQuery 利用 parent() parents() 寻找父级 或祖宗元素

$(this).parent().parent().parent().parent().parent().remove(); //此方法通过parent()一级一级往上找   $(this).parents("div").remove();// 此方法是找出所有父级元素以及祖宗元素  通过"div" 筛选出祖宗中是div的祖先元素 parent是指取得一个包含着所有匹配元素的唯一父元素的元素集合. parents则是取得一个包含着所有匹配元素的祖先元素的元素集合(不