可以看出parent的取值很明确,就是当前元素的父元素;parents则是当前元素的祖先元素。下面列出例子说明:
<p id='p1'> <p id='p2'><p></p></p> <p id='p3' class='a'><p></p></p> <p id='p4'><p></p></p> </p>
$('p').parent()取到的是p2,p3,p4
$('p').parent('.a')取到的是p3
$('p').parent().parent()取到的是p1,这点比较奇特;不过Jquery对象本身的特点决定了这是可行的。
$('p').parents()取到的是p1,p2,p3,p4
$('p').parents('.a')取到的是p3
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
例子中:
<p><p>Hello</p><p>Hello</p></p>
$("p").parent() 得到的是:e388a4556c0f65e1904146cc1a846beee388a4556c0f65e1904146cc1a846beeHello94b3e26ee717c64999d7867364b1b4a3e388a4556c0f65e1904146cc1a846beeHello94b3e26ee717c64999d7867364b1b4a394b3e26ee717c64999d7867364b1b4a3对象,因为p标签的父标签是p
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()将会得到父对象e388a4556c0f65e1904146cc1a846bee
$(”a”).parents()得到父对象为e388a4556c0f65e1904146cc1a846beedc0c0bf950c16358990a944092168089dd1ad21d926ab3d81e0b74863b822d1b
$(”a”).parents().filter(”div”)将得到dc0c0bf950c16358990a944092168089dd1ad21d926ab3d81e0b74863b822d1b,还可以写成$(”a”).parents(”div”)。
如果想的到0d2b8ff6d648b89a944975f20a7117fa对象可以写成这样:$(”a”).parents(”div:eq(0)”)。
如果点击3499910bf9dac5ae3c52d5ede7383485链接时弹出0d2b8ff6d648b89a944975f20a7117fa中的内容该怎么办?
var id=$("a").parents("div:eq(1)").children("div:eq(0)").html(); alert(id);
以上是jquery中关于parent和parents两者的区别分享的详细内容。更多信息请关注PHP中文网其他相关文章!