jquery快速入门(二)选择器和过滤器

选择器

参考css规则
id选择器: 语法 $(’#dom对象id值’)
class选择器: 语法 $(’.class样式名’)
标签选择器: 语法 $(‘标签名字’)
全选: $(’*’)
组合: $(’#id, .class, 标签’)
表单选择器: $(’:type属性值’) 例如 $(’:text’)选取所有的单行文本框;

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
		<style type="text/css">
			div{
				width: 100px;
				height: 100px;
				margin-bottom: 5px;
				background-color: #ccc;
			}
		</style>
	</head>
	<body>
		<div id="one">one</div>
		<div class="two">two</div>
		<div></div>
		<br/>
		<span>span</span>
		<br/>
		<input type="button" value="获取id是one的" />
		<input type="button" value="获取class是two的" />
		<input type="button" value="获取div标签1" id="btn3"/>
		<input type="button" value="获取div标签2" id="btn4"/>
		<input type="text" value="type=text1" >
		<input type="text" value="type=text2" >
		<input type="radio" value="">man
		<input type="radio" value="">woman
		<input type="checkbox" value="1">1
		<input type="checkbox" value="2" checked>2
		<input type="checkbox" value="3">3
		<script type="text/javascript">
			$(function(){
				// jq的操作都是操作数组中的所有成员
				// 最好接收jq对象的变量以$开头,方便阅读理解
				let $obj = $('input')
				// dom的方法绑定事件
				$obj[0].onclick = function (){
					let $o = $('#one')
					// 用jq的css方法改变样式
					$o.css('background','red')
				}
				$obj[1].addEventListener('click',function (){
					let $o = $('.two')
					// 设置多个样式
					$o.css({'background':'yellow','font-size':'1px'})
				})
				// jq的方式绑定事件
				$('#btn3').click(function(){
					let $o = $('div')
					$o.css('background','blue')
				})
				$('#btn4').on('click',function(){
					let $o = $('div')
					$o.css('background','purple')
				})
			})
		</script>
		<script type="text/javascript">
			// 按下f12,console中查看
			// 获取type为text的元素
			let o = $(':text')
			// type为text的有两个,这里为什么只输出了一个呢,后面的函数将会解答
			console.log(o.val())
			// 获取type为radio的元素
			let $radio = $(':radio')
			console.log($radio)
			//遍历jq对象中的每一项键值对中的值{k:v} i相当于里面的v
			for (let i of $radio){ 
			    //因为jq对象中的内容是dom对象,使用jq方法需要转换成jq对象
				console.log($(i).val())
			}
			// 获取type为checkbox并且被勾选的元素
			let $check = $(':checkbox:checked')
			console.log($check.val())
		</script>
	</body>
</html>


过滤器

在得dom后,根据一些条件筛选dom
不能单独使用,必须和选择器一起使用
$(‘选择器:first’) 第一个dome对象
$(‘选择器:last’) 最后一个dom对象
$(‘选择器:eq(下标)’)获取指定下标dom
$(‘选择器:lt(下标)’) 获取小于下标的所有dom
$(‘选择器:gt(下标)’) 获取大于下标的所有dom

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			div{
				background-color: #ccc;
				height: 30px;
			}
		</style>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
	</head>
	<body>
		<div>0</div>
		<div>1</div>
		<div>2</div>
		<div>3</div>
		<div>4</div>
		<input type="button" value="1">
		<input type="button" value="2">
		<input type="button" value="3">
		<input type="button" value="4">
		<script type="text/javascript">
			$(function(){
				let $btn = $(':button')
				$($btn[0]).click(function(){
					let $obj = $('div:first')
					// 将第一个div变成红色
					$obj.css('background','red')
				})
				$($btn[1]).click(function(){
					let $obj = $('div:last')
					//将最后一个div变成绿色
					$obj.css('background','green')
				})
				$($btn[2]).click(function(){
					let $obj = $('div:eq(3)')
					//将下标为3(从0开始数,即第四个)的div变成蓝色
					$obj.css('background','blue')
				})
				$($btn[3]).click(function(){
					let $obj = $('div:lt(3)')
					//将下标小于3(0,1,2)变成橘色
					$obj.css('background','orange')
				})
			})
		</script>
	</body>
</html>

表单对象属性过滤器

选择可用的文本框
$(’:text:enabled’)

选择不可用的文本框
$(’:text:disabled’)

复选框选中的元素
$(’:checkbox:checked’)

选择下拉列表的被选中元素
select>option:selected $(‘select>option:selected’)
选择器>otpion:selected 例如 $(’#id>option:selected’)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
	</head>
	<body>
		<input type="text" value="text1" id="txt1">
		<input type="text" value="text2" id="txt2" disabled>
		<input type="text" value="text3" id="txt3">
		<input type="text" value="text4" id="txt4" disabled>
		
		<input type="checkbox" value="c1">1
		<input type="checkbox" value="c2">2
		<input type="checkbox" value="c3">3
		
		<select name="" id="lang">
			<option value="java">java</option>
			<option value="go" selected>go</option>
			<option value="python">python</option>
		</select>
		<input type="button" value="将可用文本框value变成hello" id="btn1">
		<input type="button" value="输出勾选项的value" id="btn2">
		<input type="button" value="输出选中项" id="btn3">
		<script type="text/javascript">
			$(function(){
				$('#btn1').click(function(){
					let $obj = $(':text:enabled')
					// 设置可用文本框的值
					$obj.val('hello')
				})
				$('#btn2').click(function(){
					let $obj = $(':checkbox:checked')
					console.log($obj)
					for(let i of $obj){
						console.log($(i).val())
					}
				})
				$('#btn3').click(function(){
					// let $obj = $('select>option:selected')
					// <select name="" id="lang">
					let $obj = $('#lang>option:selected')
					console.log($obj.val())
				})
				
			})
		</script>
	</body>
</html>


链接: jquery快速入门(三)常用函数.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值