jQuery选择器之层级选择器

news/2024/7/11 1:18:59 标签: jquery

背景:

我们可以把文档中的所有的节点节点之间的关系,用传统的家族关系来描述,可以把文档树当作一个家谱,那么节点与节点直接就会存在父子,兄弟,祖孙的关系了。
>(大于号)紧跟父子关系 如$("div > p")表示选择div下的直接层是p的节点。
+(加号) 紧跟兄弟关系 如$("div + p")表示选择div同层的左右相邻的p节点。
~ (波浪线)任意距离兄弟关系 如$("div + p")表示选择div同层的p节点。

选择器描述
$(“parent > child”)子选择器:选择所有指定”parent”元素中指定的”child”的直接子元素
$(“ancestor descendant”)后代选择器:选择给定祖先ancestor元素的所有后代元素,包括子元素,孙子元素等全部后代元素
$(“prev + next”)相邻兄弟选择器:选择所有紧接在prev元素后的next元素
$(“prev ~ siblings”)一般兄弟选择器:匹配“prev”元素之后的所有兄弟元素。具有相同的父元素,并匹配过滤出“siblings”选择器。

层级选择器之间的相似与不同点:
1)层级选择器都有一个参考节点
2)后代选择器包含子选择器的选择的内容
3)一般兄弟选择器包含相邻兄弟选择的内容
4)相邻兄弟选择器和一般兄弟选择器所选择到的元素,必须在同一个父元素下.

示例:

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title></title>
    <link rel="stylesheet" href="imooc.css" type="text/css">
    <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>

<body>
    <h2>子选择器与后代选择器</h2>
    <div class="left">
        <div class="aaron">
            <p>div下的第一个p元素</p>
        </div>
        <div class="aaron">
            <p>div下的第一个p元素</p>

        </div>
    </div>
    <div class="right">
        <div class="imooc">
            <article>
                <p>div下的article下的p元素</p>
            </article>
        </div>
        <div class="imooc">
            <article>
                <p>div下的article下的p元素</p>
            </article>
        </div>
    </div>

    <script type="text/javascript">
        //子选择器
        //$('div > p') 选择所有div元素里面的直接子元素P
        //$('div > p').css("border", "3px groove yellow");
    </script>

    <script type="text/javascript">
        //后代选择器
        //$('div  p') 选择所有div元素里面的p元素
        $('div p').css("border", "1px groove red");
    </script>


    <h2>相邻兄弟选择器与一般兄弟选择器</h2>
    <div class="bottom">
        <div>兄弟节点div, +~选择器不能向前选择</div>
        <span class="prev">选择器span元素</span>
        <div>span后第一个兄弟节点div</div>
        <div>兄弟节点div
            <div class="small">子元素div</div>
        </div>
        <span>兄弟节点span,不可选</span>
        <div>兄弟节点div</div>
    </div>

    <script type="text/javascript">
        //相邻兄弟选择器
        //选取prev后面的第一个的div兄弟节点
        $('.prev + div').css("border", "3px groove red");
    </script>

    <script type="text/javascript">
        //一般相邻选择器
        //选取prev后面的所有的div兄弟节点
        $(".prev ~ div").css("border", "3px groove blue");
    </script>

</body>

</html>

http://www.niftyadmin.cn/n/618120.html

相关文章

H.264 视频的 RTP 载荷格式

H.264 视频的 RTP 载荷格式 本文是 IETF 的规范 RFC 6184 的一部分的翻译&#xff0c;该规范 地址。翻译这份文档&#xff0c;主要是为了编写一段用 RTP 传输 H.264 流的代码。本想在网上找一些文章完成任务了事的&#xff0c;但由于个人之前音视频编解码相关的知识比较匮乏&a…

jQuery选择器之基本筛选选择器

背景&#xff1a; jQuery提供了一系列的筛选选择器用来更快捷的找到所需的DOM元素。筛选选择器很多都不是CSS的规范&#xff0c;而是jQuery自己为了开发者的便利延展出来的选择器 筛选选择器的用法与CSS中的伪元素相似&#xff0c;选择器用冒号“&#xff1a;”开头&#xff…

C++ 各种构造函数的调用方式

c的类中有5种值得注意的基本的函数&#xff1a; 无参构造函数有参构造函数拷贝构造函数赋值函数析构函数 关于析构函数&#xff0c;需要注意的点在上一篇博客里面 c: 是否会自动delete&#xff1f; 也提到过了&#xff0c;在这里暂时不多说。这篇博客主要记录这3个构造函数、1…

Python下的进程间通信-管道

背景&#xff1a; 在python下利用subprocess模块实现进程间的通信。 使用subprocess包中的函数创建子进程的时候&#xff0c;要注意: 1) 在创建子进程之后&#xff0c;父进程是否暂停&#xff0c;并等待子进程运行。 2) 函数返回什么 3) 当returncode不为0时&#xff0c;父…

C++ 拷贝构造函数与赋值函数

这里我们用类String 来介绍这两个函数&#xff1a; 拷贝构造函数是一种特殊构造函数&#xff0c;具有单个形参&#xff0c;该形参&#xff08;常用const修饰&#xff09;是对该类类型的引用。当定义一个新对象并用一个同类型的对象对它进行初始化时&#xff0c;将显式使用拷贝…

jQuery选择器之内容筛选选择器

背景&#xff1a; 基本筛选选择器针对的都是元素DOM节点&#xff0c;如果我们要通过内容来过滤&#xff0c;jQuery也提供了一组内容筛选选择器&#xff0c;当然其规则也会体现在它所包含的子元素或者文本内容上。 选择器描述$(“:contains(text)”)选择所有包含指定文本的元素…

Linux 查看与修改mtu值

MTU&#xff1a;通信术语 最大传输单元&#xff08;Maximum Transmission Unit&#xff09;是指一种通信协议的某一层上面所能通过的最大数据包大小&#xff08;以字节为单位&#xff09;。 我们在使用互联网时进行的各种网络操作&#xff0c;都是通过一个又一个“数据包”传…

并行-问题拾遗

背景: 正做并行设计的时候&#xff0c;报错&#xff1a; terminate called after throwing an instance of ‘std::bad_alloc’ 查看代码&#xff0c;发现是在做并行计算任务id&#xff08;字符串&#xff09;获取之后&#xff0c;对id做一次按照\t的分割&#xff0c;并将结…