您的位置: 翼速应用 > 业内知识 > web前端 > 正文

在jquery寻找父级的方法教程来了

在jquery寻找父级的方法教程来了,4个寻找方法奉上:


1、parent(),可以查找当前元素的“父元素”,语法“$(选择器).parent(表达式)”;

2、parents(),可查找所选元素的祖先元素,语法“$(选择器).parents(表达式)”;

3、parentsUntil(),可查找指定范围的所有祖先元素,语法“$(选择器).parentsUntil(表达式)”;

4、closest(),可被选元素的第一个祖先元素。


在jquery寻找父级的方法教程来了


本文适用于windows7系统、jquery3.6.1版本、Dell G3电脑。


在jquery寻找父级的方法教程来了


方法一:parent()


在jQuery中,我们可以使用parent()方法来查找当前元素的“父元素”。记住,元素只有一个父元素,语法如下:


$(selector).parent(expression)


说明:参数expression表示jQuery选择器表达式,用来过滤父元素。当参数省略时,则选择所有的父元素。如果参数不省略,则选择符合条件的父元素。


元素不是只有一个父元素么?为什么还有“符合条件的父元素”这一说法?对于这个,可以看看下面的例子。


举例:


<!DOCTYPE html>
<html>
    <head>
        <script src="js/jquery-3.6.1.min.js"></script>
        <script type="text/javascript">
            $(function() {
                $("p").parent(".lvye").css("color", "red");
            })
        </script>
    </head>
    <body>
        <div>
            <p>php中文网jQuery入门教程</p>
        </div>
        <div class="lvye">
            <p>php中文网jQuery入门教程</p>
        </div>
        <div>
            <p>php中文网jQuery入门教程</p>
        </div>
    </body>
</html>


方法二:parents()


parents()方法和parent()方法相似,都是用来查找所选元素的祖先元素。但是这两个方法也有着本质的区别。


其实这2个方法也很好区分,parent是单数形式,查找的祖先元素只有1个,那就是父元素。而parents是复数形式,查找的祖先元素当然是所有的祖先元素,语法如下:


$(selector).parents(expression)


说明:参数expression表示jQuery选择器表达式字符串,用来过滤祖先元素。当参数省略时,则选择所有的祖先元素。如果参数不省略,则选择符合条件的祖先元素。


举例:


<!DOCTYPE html>
<html>
    <head>
        <script src="js/jquery-3.6.1.min.js"></script>
        <script type="text/javascript">
            $(function() {
                $("#btn").click(function() {
                    var parents = $("span").parents()
                        .map(function() {
                            return this.tagName;
                        })
                        .get().join(",");
                    alert("span元素的所有祖先元素为:" + parents.toLowerCase());
                });
            })
        </script>
    </head>
    <body>
        <div>
            <p><strong><span>jQuery入门教程</span></strong></p>
        </div>
        <input id="btn" type="button" value="获取" />
    </body>
</html>


方法三:parentsUntil()


parentsUntil()方法是对parents()方法的一个补充,它可以查找指定范围的所有祖先元素,相当于在parents()方法返回集合中截取部分祖先元素。语法如下:


$(selector).parentsUntil(expression)


说明:参数expression表示jQuery选择器表达式字符串,用来过滤祖先元素。当参数省略时,则选择所有的祖先元素。如果参数不省略,则选择符合条件的祖先元素。


参数selector表示jQuery选择器表达式字符串,用以确定范围的祖先元素。该参数为可选,如果省略,则将匹配所有祖先元素,这一点跟parents()方法查找结果是一样的。


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.ancestors *{ 
    display: block;
    border: 2px solid lightgrey;
    color: lightgrey;
    padding: 5px;
    margin: 15px;
}
</style>
<script src="js/jquery-3.6.1.min.js"></script>
<script>
$(document).ready(function(){
    $("span").parentsUntil("div").css({"color":"red","border":"2px solid red"});
});
</script>
</head>
 
<body class="ancestors"> body (曾曾祖父节点)
  <div style="width:500px;">div (曾祖父节点)
    <ul>ul (祖父节点)  
      <li>li (直接父节点)
        <span>span</span>
      </li>
    </ul>   
  </div>
</body>
 
<!-- 在这个例子中,我们选择在span和div元素之间的所有祖先元素。 -->
</html>


方法4:closest()


closest() 方法返回被选元素的第一个祖先元素。


●  从当前元素开始


●  沿 DOM 树向上遍历,并返回匹配所传递的表达式的第一个单一祖先


●  返回包含零个或一个元素的 jQuery 对象


语法:


$(selector).closest(expression)


示例:返回 <span> 的第一个父元素,是一个 <li> 元素:


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.ancestors *{ 
    display: block;
    border: 2px solid lightgrey;
    color: lightgrey;
    padding: 5px;
    margin: 15px;
}
</style>
<script src="js/jquery-3.6.1.min.js"></script>
<script>
$(document).ready(function(){
    $("span").closest("li").css({"color":"red","border":"2px solid red"});
});
</script>
</head>
 
<body class="ancestors">body (曾曾祖先节点)
    <div style="width:500px;">div (曾祖先节点)
        <ul>ul (第二祖先 - 第二祖先节点) 
            <ul>ul (第一祖先 - 第一祖先节点)
                <li>li (直接父节点)
                    <span>span</span>
                </li>
            </ul>
        </ul>   
    </div>
</body>
</html>


在jquery寻找父级的方法教程就到这里,翼速应用平台内有更多相关资讯,欢迎查阅!


我来说两句

0 条评论

推荐阅读

  • 响应式布局CSS媒体查询设备像素比介绍

    构建响应式网站布局最常见的是流体网格,灵活调整大小的站点布局技术,确保用户在使用的幕上获得完整的体验。响应式设计如何展示富媒体图像,可以通过以下几种方法。

    admin
  • 提升网站的性能快速加载的实用技巧

    网站速度很重要,快速加载的网站会带来更好的用户体验、更高的转化率、更多的参与度,而且在搜索引擎排名中也扮演重要角色,做SEO,网站硬件是起跑线,如果输在了起跑线,又怎么跟同行竞争。有许多方法可提升网站的性能,有一些技巧可以避免踩坑。

    admin
  • 织梦CMS TAG页找不到标签和实现彩色标签解决方法

    织梦cms是我们常见的网站程序系统的一款,在TAG标签中常常遇到的问题也很多。当我们点击 tags.php 页的某个标签的时候,有时会提示:“系统无此标签,可 能已经移除!” 但是我们检查程序后台,以及前台显示页面。这个标签确实存在,如果解决这个问题那?

    admin
  • HTML关于fieldset标签主要的作用

    在前端开发html页面中常用的标签很多,今天为大家带来的是关于HTML中fieldset标签主要的作用说明,根据技术分析HTML

    admin

精选专题