当前位置: 代码迷 >> Web前端 >> 关于Jquery的parent跟parents
  详细解决方案

关于Jquery的parent跟parents

热度:336   发布时间:2013-08-01 15:23:18.0
关于Jquery的parent和parents
http://www.cnblogs.com/zch5577/articles/1362423.html
关于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




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>
</body>

$(”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); 
  相关解决方案