微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery prev() prevAll()和prevUntil()方法

向前查找兄弟元素,指的是查找某个元素之前的兄弟元素。在 jQuery 中,对于向前查找兄弟元素,我们有以下 3 种方法
  • prev();
  • prevAll();
  • prevUntil()。

其中,兄弟元素指的是该元素在同一个父元素下的同级元素。

jQuery prev()方法

在 jQuery 中,我们可以使用 prev() 方法来查找某个元素前面“相邻”的兄弟元素。

语法:

$().prev()

大多数情况下,prev() 方法是不需要参数的。

举例:
<!DOCTYPE html>
<html>
<head>
    <Meta charset="utf-8" />
    <title></title>
    <script src="js/jquery-1.12.4.min.js"></script>
    <script>
        $(function(){
            $("#cyuyan").prev().css("color","red");
        })
    </script>
</head>
<body>
    <ul>
        <li>红:red</li>
        <li>橙:orange</li>
        <li>黄:yellow</li>
        <li id="cyuyan">绿:green</li>
        <li>青:cyan</li>
        <li>蓝:blue</li>
        <li>紫:purple</li>
    </ul>
</body>
</html>
预览效果如图 1 所示。
prev()方法的效果
图 1:prev() 方法效果

$("#cyuyan").prev()表示选取 id="cyuyan" 的元素前面相邻的兄弟元素,即“<li>黄:yellow</li>”这一项。

jQuery prevAll()方法

在 jQuery 中,我们可以使用 prevAll() 方法来查找某个元素前面“所有”的兄弟元素。注意,prev() 只会查找前面相邻的兄弟元素,而 prevAll() 则会查找前面所有的兄弟元素。

语法:

$().prevAll(selector)

selector 是一个选择器,用来查找符合条件的兄弟元素。selector 是一个可选参数,当参数省略时,表示选择前面所有的兄弟元素;当参数没有省略时,表示选择前面满足条件的兄弟元素。

举例:
<!DOCTYPE html>
<html>
<head>
    <Meta charset="utf-8" />
    <title></title>
    <script src="js/jquery-1.12.4.min.js"></script>
    <script>
        $(function(){
            $("#cyuyan").prevAll().css("color","red");
        })
    </script>
</head>
<body>
    <ul>
        <li>红:red</li>
        <li>橙:orange</li>
        <li>黄:yellow</li>
        <li id="cyuyan">绿:green</li>
        <li>青:cyan</li>
        <li>蓝:blue</li>
        <li>紫:purple</li>
    </ul>
</body>
</html>
预览效果如图 2 所示。
prevAll()方法的效果
图 2:prevAll() 方法效果

$("#cyuyan").prevAll()表示选取 id="cyuyan" 的元素前面所有的兄弟元素。

jQuery prevUntil()方法

在 jQuery 中,prevUntil() 方法是对 prevAll() 方法一个补充,它可以查找元素前面“指定范围”中所有的兄弟元素,相当于在 prevAll() 方法返回的集合中截取一部分。

语法:

$().prevUntil(selector)

selector 是一个可选参数,也是一个选择器,用来选择前面符合条件的兄弟元素。

举例
<!DOCTYPE html>
<html>
<head>
    <Meta charset="utf-8" />
    <title></title>
    <script src="js/jquery-1.12.4.min.js"></script>
    <script>
        $(function(){
            $("#cyuyan").prevUntil("#end").css("color","red");
        })
    </script>
</head>
<body>
    <ul>
        <li id="end">红:red</li>
        <li>橙:orange</li>
        <li>黄:yellow</li>
        <li id="cyuyan">绿:green</li>
        <li>青:cyan</li>
        <li>蓝:blue</li>
        <li>紫:purple</li>
    </ul>
</body>
</html>
预览效果如图 3 所示。
@H_502_56@
图 3:prevUntil() 方法效果

$("#cyuyan").prevUntil("#end")表示以 id="cyuyan" 的元素为基点,向前找到 id="end" 的兄弟元素,然后选取这个范围之间所有的兄弟元素。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐