JQuery中的五大选择器——“全家桶”详解

详解JQuery中的五大选择器

选择器能够筛选具有相似特征的元素标签,允许对HTML元素组或单个元素进行操作,jQuery 中所有选择器都以美元符号开头:$()。


首先我们先来讲讲JQuery的入口函数:

&(function(){
	//在这里写入代码
})

而在JavaScript中定义的入口函数window.onload方法和JQuery中的&(function)方法的区别是:
window.onload方法只能定义一次,如果定义多次,则前面的window.onload方法会被覆盖掉;&(function)方法可以多次定义,并且不会被覆盖

一、基本选择器

基本选择器有五类:
1、标签选择器: 语法:$ (“标签名”)
2、id选择器: 语法:$ ("#id的属性值")
3、类选择器:语法:$ (".class的属性值")
4、并集选择器:语法:$ (“选择器1,选择器2…”)

$(function(){
	//标签选择器
	//标签选择器又称元素选择器,用于获得所有匹配标签元素名称的元素
	$('div').css('backgroundColor','yellow')
	
	//id选择器:获得与指定id属性值匹配的元素
	//例如:元素id为container
	$('#container').css('backgroundColor','yellow')
	
	//类选择器:获得与指定class属性值匹配的元素
	//例如:元素class为container
	$('.container').css('backgroundColor','yellow')

	//并集选择器:获取多个选择器选中的所有元素
	//例如:选中所有div和所有id为container的的元素
	$('div #container').css('backgroundColor','yellow')
})

二、层级选择器

层级选择器有两类:
1、后代选择器:语法:$ (“A B”)
2、子选择器:语法:$ (“A>B”)

$(function(){
	//后代选择器:选择A元素内部的所有B元素
	//例如:选择div元素内部的所有span元素
	$('div span').css('backgroundColor','yellow')
	
	//子选择器:选择A元素下一级的B元素
	//例如:选择div元素内部的直系span元素
	$('div>span').css('backgroundColor','yellow')
})

后代选择器会选择A元素内部的所有B元素,而子选择器只会选择A元素的下一级B元素

后代选择器:
在这里插入图片描述子选择器:
在这里插入图片描述

三、属性选择器

属性选择器有三类:
1、属性名称选择器:语法:$ (“A [属性名]”)
2、属性选择器:语法:$ (“A [属性名=‘值’]”)
3、复合属性选择器:语法:$ (“A[属性名=‘值’][ ]…”)

$(function(){
	//属性名称选择器:包含指定属性的选择器
	//例如:选择包含有属性class的div
	$("div[class]").css('backgroundColor','yellow')
	
	//属性选择器:包含指定属性等于指定值的选择器
	//例如:选择属性class等于container的div
	$("div[class='container']").css('backgroundColor','yellow')
	
	//复合属性选择器:包含多个属性条件的选择器
	//例如:选择包含有属性id并且属性class等于container的div
	$("div[id][class='container']").css('backgroundColor','yellow')
})

拓展:属性选择器与正则表达式

&(function(){
	//“^=”:指定属性名称是以指定值开头的选择器
	//例如:选择class属性以con开头的div
	$("div[class^='con']").css('backgroundColor','yellow')
	
	//“$=”:指定属性名称是以指定值结尾的选择器
	//例如:选择class属性以er结尾的div
	$("div[class$='er']").css('backgroundColor','yellow')

	//“*=”:指定属性名称中包含指定值的选择器
	//例如:选择class属性中含有tain的div
	$("div[class*='tain']").css('backgroundColor','yellow')
})

四、过滤选择器

过滤选择器有九类:
1、首元素选择器:语法:$ (“A:first”)
2、尾元素选择器:语法:$ (“A:last”)
3、非元素选择器:语法:$ (“A:not(selector)”)
4、偶数选择器:语法:$ (“A:even”)
5、奇数选择器:语法:$ (“A:odd”)
6、等于索引选择器:语法:$ (“A:eq(index)”)
7、大于索引选择器 :语法:$ (“A:gt(index)”)
8、小于索引选择器:语法:$ (“A:lt(index)”)
9、标题选择器:语法:$(":header")

$(function(){
	//首元素选择器:获得选择的元素的第一个元素
	//例如:选择列表的第一个li
	$("li:first").css('backgroundColor','yellow')

	//尾元素选择器:获得选择的元素的最后一个元素
	//例如:选择列表的最后一个li
	$("li:last").css('backgroundColor','yellow')

	//非元素选择器:不包括指定内容的元素
	//例如选择除class为container外的所有div
	$("div:not(.container)").css('backgroundColor','yellow')
	
	//偶数选择器:从0开始计数,获得选择的元素中索引为偶数的元素
	//例如:选择列表的偶数项li
	$("li:even").css('backgroundColor','yellow')

	//奇数选择器:从0开始计数,获得选择的元素中索引为奇数的元素
	//例如:选择列表的奇数项li
	$("li:odd").css('backgroundColor','yellow')

	//等于索引选择器:获得选择的元素中指定索引的元素
	//例如:选择列表索引为2的li
	$("li:eq(2)").css('backgroundColor','yellow')

	//大于索引选择器:获得选择的元素中大于指定索引的元素
	//例如:选择列表索引大于2的li
	$("li:gt(2)").css('backgroundColor','yellow')

	//小于索引选择器:获得选择的元素中小于指定索引的元素
	//例如:选择列表索引小于2的li
	$("li:lt(2)").css('backgroundColor','yellow')

	//标题选择器:获得标题(h1~h6)元素,固定写法:$(":header")
	//选择所有的标题元素
	$(":header").css('backgroundColor','yellow')
})

五、表单过滤选择器

表单过滤器有四类:
1、可用元素选择器:语法:$ (“A:enabled”)
2、不可用元素选择器:语法: $ (“A:disabled”)
3、选中选择器(单/复选框):语法:$ (“A:checked”)
4、选中选择器(下拉框)语法:$ (“A:selected”)

$(function(){
	//可用元素选择器:获得选择元素中的可用元素
	//例如:改变表单内可用 input 元素的值
	$("input[type='text']:enabled").val("aaa");

	//不可用元素选择器:获得选择元素中的不可用元素
	//例如:改变表单内不可用 input 元素的值
	$("input[type='text']:disabled").val("aaa");

	//选中选择器:获得单选/复选框选中的元素
	//例如:获得选中的复选框的个数
	$("input[type='checkbox']:checked").length;

	//选中选择器:获得下拉框选中的元素
	//例如:获得下拉框选中的个数
	$("#obj>option:selected").length;
})

注意:$ (“A:checked”)和$ (“A:selected”)的区别:

$ (“A:checked”)选择器的作用对象是单选/复选框,而$ (“A:selected”)选择器的作用对象是下拉框;$ (“A:selected”)的作用对象是下拉框中包含在内的选项,所以在使用的时候,因此在使用时应当使用“>”来具体说明

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值