<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="../server/jquery-3.4.1.js"></script>
</head>
<body>
<div id="demoID">div1</div>
<div class="box1">div2</div>
<div class="box1">div3</div>
<div>div4</div>
<span>A</span>
<span>B</span>
<li>li1</li>
<li>li2</li>
<li>li3</li>
<li>li4</li>
<li>li5</li>
<li>li6</li>
<li>li7</li>
<li>li8</li>
<script>
/* 基本选择器
001-id选择器 #id
002-class选择器 .class
003-标签选择器 标签名
004-并集选择器 #id,.class
005-通配符选择器 * */
$("div").css("background", "red");
$("#demoID,.box1").css("background", "red");
$("*").css("background", "red");
// document.querySelectorAll(#id,.class)
/* 层级选择器 */
/* 001-获取指定标签指定的后代元素 */
$("#demoID div").css("background", "red");
/* 002-获取指定标签指定的直接后代元素 */
$("#demoID>div").css("background", "red");
/* 003-获取指定标签后面的第一个兄弟节点 */
$(".box2 +div").css("background", "red");
/* 获取box2到div的所有节点 */
$(".box2 ~ div").css("background", "red")
// 赛选选择器
// :first
// :last
// :eq()
// :not()
// :lt()
// :gt()
// :even
// :odd
// 第一个
$("li:first").css("background", "#195");
// 最后一个
$("li:last").css("background", "blue");
// 指定某一个
// 第一个
$("le:eq(0").css("background", "blue");
// 最后一个
$("li:eq(-1)").css("background", "#220");
// 索引为奇偶数
$("li:odd").css("background", "#100"); //奇数
$("li:even").css("background", "#100"); //偶数
// 005-排除
// 排除索引为1的那个标签
$("li:not(:eq(1))").css("background", "#154");
// 排除最后一个标签
$("li:not(:eq(1))").css("background", "#445");
/* 006-范围(大于|小于) */
$("li:lt(3)").css("background", "#546"); //小于
$("li:gt(3)").css("background", "#dsf"); //大于
// 父子选择器
// jQ.parent() 获取父节点
// jQ.parents() 获取祖先节点
// jQ.parentsUntil() 获取祖先节点直到某个节点为止
$(".box2").parent().css("background", "red");
// 先获取所有的祖先节点,然后在折现祖先节点中应用选择器 选择器id为demoID的标签
$(".box2").parents("#demoID").css("background", "red");
$(".box2").parentsUntil("html").css("background", "red");
// 子节点相关方法
$("demoID").children.css("background", "red");
//获取兄弟节点
$(".box").next().css("background", "red");
$(".box").nextAll().css("background", "red");
$(".box2").prev().css("background", "red");
$(".box2").prevAll().css("background", "red");
// nextAll 之后的所有兄弟元素
//prevAll() 获得当前匹配元素集合中每个元素的前面的同胞元素,使用选择器进行筛选是可选的。
//siblings():所有兄弟(除了自己)
$(".box2").siblings().css("background", "red");
</script>
</body>
</html>