• 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)用法:取得一个包含着所有匹配元素的唯一父元素的元素集合。

    1. <script src="jquery-1.2.6.min.js" type="text/javascript"></script>
    2. <script type="text/javascript"> 
    3. $(document).ready(function() {
    4. $("#btn1").click(function(){
    5. alert($(this).parent().next().html());
    6. });
    7. });
    8. </script> 
    9. </head> 
    10. <body> 
    11. <table>
    12. <tr>
    13.       <td><input id="btn1"  class="btn" type="button"  value="test"/></td>
    14.       <td>some text</td>
    15. </tr>
    16. </table>
    17. ....
    其中:
    1. this.parent()是input前面的td
    2. this.parent().parent()获取的是tr
    3. this.parent().parent().parent()获取的是table
    4. 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);

  • 相关阅读:
    使用GitLab搭建Git仓库
    SpringBoot web开发
    springboot配置
    springboot自动配置原理
    springboot修改端口号
    springboot创建方式
    junit运行多个测试的方法
    junit常用注解
    junit断言
    sublime将.m文件关联MATLAB类型高亮
  • 原文地址:https://www.cnblogs.com/vania/p/3323692.html
Copyright © 2020-2023  润新知