JQuery选择器
选择器:类似于 CSS 的选择器,可以帮助我们获取元素。例如:id 选择器、类选择器、元素选择器、属性选择器等等。 jQuery 中选择器的语法:$();
一、jQuery的选择器
(一)基本选择器
1.元素选择器 语法: $("元素的名称") 作用:根据元素名称获取元素对象们。
let divs = $("div");
2.id选择器 语法: $("#id的属性值") 作用:根据ID属性值获取元素对象。
let div1 = $("#div1");
3.类选择器 语法: $(".class的属性值") 作用:根据class属性值获取对象们。
let cls = $(".cls");
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>基本选择器</title>
</head>
<body>
<div id="div1">div1</div>
<div class="cls">div2</div>
<div class="cls">div3</div>
</body>
<script src="js/jquery-3.3.1.min.js"></script>
<script>
//1.元素选择器 $("元素的名称")
let divs = $("div");
//alert(divs.length);
//2.id选择器 $("#id的属性值")
let div1 = $("#div1");
alert(div1);
//3.类选择器 $(".class的属性值")
let cls = $(".cls");
//alert(cls.length);
</script>
</html>
(二)层级选择器
1. 后代选择器 $("A B"); A下的所有B(包括B的子级)。
let spans1 = $("div span");
2. 子选择器 $("A > B"); A下的所有B(不包括B的子级)。
let spans2 = $("div > span");
3. 兄弟选择器 $("A + B"); A相邻的下一个B。
let ps1 = $("div + p");
4. 兄弟选择器 $("A ~ B"); A相邻的所有B。
let ps2 = $("div ~ p");
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>层级选择器</title>
</head>
<body>
<div>
<span>sp1
<span>sp1-1</span>
<span>sp1-2</span>
</span>
<span>sp2</span>
</div>
<div>div2</div>
<p>p1</p>
<p>p2</p>
</body>
<script src="js/jquery-3.3.1.min.js"></script>
<script>
// 1. 后代选择器 $("A B"); A下的所有B(包括B的子级)
let spans1 = $("div span");
// alert("后代选择器 个数:"+spans1.length);// 4个
// 2. 子选择器 $("A > B"); A下的所有B(不包括B的子级)
let spans2 = $("div > span");
// alert("子选择器 个数:"+spans2.length); //2个
// 3. 兄弟选择器 $("A + B"); A相邻的下一个B
let ps1 = $("div + p");
// alert("兄弟选择器 个数:"+ps1.length);//1个
// alert(ps1.html());
// 4. 兄弟选择器 $("A ~ B"); A相邻的所有B
let ps2 = $("div ~ p");
alert("兄弟选择器 个数:"+ps2.length); //2个
</script>
</html>
(三)属性选择器
1.属性名选择器 语法: $("元素[属性名]"); 作用:根据指定名称获取元素对象们。
let in1 = $("input[type]");
2.属性值选择器,语法 $("元素[属性名=属性值]") ;作用:根据制定属性名和属性值获取元素对象们。
let in2 = $("input[type='password']");
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>属性选择器</title>
</head>
<body>
<input type="text" value="text1">
<input type="password" value="pwd1">
<input type="password" value="pwd2">
</body>
<script src="js/jquery-3.3.1.min.js"></script>
<script>
//1.属性名选择器 $("元素[属性名]")
let in1 = $("input[type]");
alert(in1.length);
//2.属性值选择器 $("元素[属性名=属性值]")
let in2 = $("input[type='password']");
alert(in2.length);
</script>
</html>
(四)过滤器选择器
1.首元素选择器 语法: $("A:first"); 作用 : 获得选择的元素中的第一个元素。
let div1 = $("div:first");
2.尾元素选择器 语法: $("A:last");作用 : 获得选择的元素中的最后一个元素。
let div4 = $("div:last");
3.非元素选择器 语法: $("A:not(B)");作用 : 不包括指定内容的元素。
let divs1 = $("div:not(#div2)");
4.偶数选择器 语法: $("A:even");作用:偶数 , 从0开始计数。
let divs2 = $("div:even");
5.奇数选择器 语法: $("A:odd");作用: 奇数 , 从0开始计数。
let divs3 = $("div:odd");
6.等于索引选择器 语法: $("A:eq(index)");作用 : 指定索引元素。
let div3 = $("div:eq(2)");
7.大于索引选择器 语法: $("A:gt(index)");作用 : 大于指定索引元素。
let divs4 = $("div:gt(1)");
// 8.小于索引选择器 语法: $("A:lt(index)");作用 : 小于指定索引元素。
let divs5 = $("div:lt(2)");
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>过滤器选择器</title>
</head>
<body>
<div>div1</div>
<div id="div2">div2</div>
<div>div3</div>
<div>div4</div>
</body>
<script src="js/jquery-3.3.1.min.js"></script>
<script>
// 1.首元素选择器 $("A:first");
let div1 = $("div:first");
alert(div1.html());
// 2.尾元素选择器 $("A:last");
let div4 = $("div:last");
//alert(div4.html());
// 3.非元素选择器 $("A:not(B)");
let divs1 = $("div:not(#div2)");
// alert(divs1.length);
// 4.偶数选择器 $("A:even");
let divs2 = $("div:even");
// alert(divs2.length);
// alert(divs2[0].innerHTML);//div1
// alert(divs2[1].innerHTML);//div3
// 5.奇数选择器 $("A:odd");
let divs3 = $("div:odd");
// alert(divs3.length);
// alert(divs3[0].innerHTML);//div2
// alert(divs3[1].innerHTML);//div4
// 6.等于索引选择器 $("A:eq(index)");
let div3 = $("div:eq(2)");
// alert(div3.html());//div3
// 7.大于索引选择器 $("A:gt(index)");
let divs4 = $("div:gt(1)");
// alert(divs4.length);
// alert(divs4[0].innerHTML);//div3
// alert(divs4[1].innerHTML);//div4
// 8.小于索引选择器 $("A:lt(index)");
let divs5 = $("div:lt(2)");
// alert(divs5.length);
// alert(divs5[0].innerHTML);//div1
// alert(divs5[1].innerHTML);//div2
</script>
</html>
(五)表单属性选择器
1.可用元素选择器 语法: $("A:enabled"); 作用:获得可用元素
let ins1 = $("input:enabled");
2.不可用元素选择器 语法: $("A:disabled"); 作用:获得不可用元素
let ins2 = $("input:disabled");
3.单选/复选框被选中的元素 语法: $("A:checked"); 作用:获得单选复选框选中的元素
let ins3 = $("input:checked");
4.下拉框被选中的元素 语法: $("A:selected"); 作用:获得下拉框选中的元素
let select = $("select option:selected");
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>表单属性选择器</title>
</head>
<body>
<input type="text" disabled><br />
<input type="text" ><br />
<input type="radio" name="gender" value="men" checked>男
<input type="radio" name="gender" value="women" >女<br />
<input type="checkbox" name="hobby" value="study" checked>学习
<input type="checkbox" name="hobby" value="work" checked>工作
<br />
<select>
<option>---请选择---</option>
<option selected>本科</option> <!---->
<option>专科</option>
</select>
</body>
<script src="js/jquery-3.3.1.min.js"></script>
<script>
// 1.可用元素选择器 $("A:enabled");
let ins1 = $("input:enabled");
alert(ins1.length);//5
// 2.不可用元素选择器 $("A:disabled");
let ins2 = $("input:disabled");
//alert(ins2.length);//1
// 3.单选/复选框被选中的元素 $("A:checked");
let ins3 = $("input:checked");
// alert(ins3.length);//3
// alert(ins3[0].value);//man
// alert(ins3[1].value);//stydy
// alert(ins3[2].value);//work
// 4.下拉框被选中的元素 $("A:selected");
let select = $("select option:selected");
// alert(select.html());//本科
</script>
</html>
二、总结
选择器:类似于 CSS 的选择器,可以帮助我们获取元素。 jQuery 中选择器的语法:$();
- 基本选择器
- $("元素的名称");
- $("#id的属性值");
- $(".class的属性值");
- 层级选择器
- $("A B");
- $("A > B");
- 属性选择器
- $("A[属性名]");
- $("A[属性名=属性值]");
- 过滤器选择器
- $("A:even");
- $("A:odd");
- 表单属性选择器
- $("A:disabled");
- $("A:checked");
- $("A:selected");