JQuery入门(二)JQuery选择器

本文详细介绍了JQuery选择器的使用方法,包括id选择器、元素选择器、class选择器等,通过具体实例展示了如何高效地选取DOM元素,是前端开发者必备的知识。

前言

      本章讲解JQuery选择器的相关知识

方法

1.概念

通过前面的学习,我们把jquery的js文件下载了下来,当时下载的是一个压缩版,也就是项目上线用到的版本。这里我们为了说明方便我们下载一个开发版来进行学习。

jquery选择器,相信大家不会陌生css的选择器吧,其实道理是一样的,可以快速的定位html的元素对象,不再需要以前的document.getElementById()等等等等。

2.选择器的学习

本节的样例html代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>JQuery</title>
		<script src="js/jquery-3.3.1.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
			
		</script>
	</head>
	<body>
		<div>
			<form action="#" method="post" id="ff">
				<h5>注册信息</h5>
				用户名:<input type="text" name="username" id="username" value=""/><span id="usernameSpan"></span><br/>
				性&nbsp;&nbsp;&nbsp;&nbsp;别:<input type="radio" name="sex" value="男" checked="checked"/>男<input type="radio" name="sex" value="女"/>女<span></span><br/>
				爱&nbsp;&nbsp;&nbsp;&nbsp;好:<input type="checkbox" name="hobby" value="足球" />足球<input type="checkbox" name="hobby" value="游泳"/>游泳
				<input type="checkbox" name="hobby" value="棋牌" />棋牌<span></span><br/>
				毕业院校:<select name="school" id="school" class="sd">
							<option value="--请选择--">--请选择--</option>
							<option value="清华大学">清华大学</option>
							<option value="北京大学">北京大学</option>
							<option value="挖掘机技术学院">挖掘机技术学院</option>
						</select><span></span><br/>
				个人简介:<textarea rows="3" cols="20" name="introduce" id="introduce"></textarea><span></span><br/>
				<input type="button" value="提交" onclick="sub();"/>&nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" name="" id="" value="重置" />
			</form>
		</div>
	</body>
</html>

1)id选择器

语法:$(#id)

实例:使用id选择器获取用户名input标签元素

$(function(){
	//使用JQuery的id选择器获取用户名input元素
	console.log($("#username"));
});

特别的:$(function(){代码});语句体代表的是当页面完全加载完毕之后执行该语句

console.log(变量);代表的是在浏览器控制台输出该变量的值,这与以往的alert(变量)方法查看的方式有所不同,前者更加友好!

特别的:我们可以用元素对象.val()方法来获取该元素的value值

使用元素对象.attr(属性名称)来获取元素对象的属性值

2)元素选择器

语法:$(元素名)

实例:获取个人简介的textarea元素对象

$(function(){
	console.log($("textarea"));
});

特别的:我们发现如果有多个相同的元素对象,获取之后会是一个数组,其拥有length属性,标记了其元素个数

3)class选择器

语法:$(.class名称)

实例:获取class为sd的元素对象

$(function(){
	console.log($(".sd"));
});

 4)组合选择器

语法:$(selector1,selector2,selector3...)

实例:获取以上三个实例的对象

$(function(){
	console.log($("#username,textarea,.sd"));
});

5)层级选择器(子选择器)

语法:$(父节点  子节点)

实例:获取id为ff下的h5标签对象

$(function(){
	console.log($("#ff h5"));
});

 

 6)层级选择器(指定的子选择器)

语法:$(父节点).eq(num)

实例:获取id为ff下的第二个input元素对象(num角标由0开始)

$(function(){
	console.log($("#ff input").eq(1));
});

7)定位选择器

语法 :$(节点描述1节点描述2....)

实例:获取class属性为sd的select标签对象

$(function(){
	console.log($("select.sd"));
});

8)属性选择器

语法:$("[属性='属性值']") 

实例:获取type属性为radio的元素对象

$(function(){
	console.log($("[type='radio']"));
});


以上为使用率特别高的选择器语法知识,必须要会!

下面是全部的选择器语法,学有余力的同学可以进行参考

附录:JQuery选择器大全

选择器实例选取
*$("*")所有元素
#id$("#lastname")id="lastname" 的元素
.class$(".intro")class="intro" 的所有元素
.class,.class$(".intro,.demo")class 为 "intro" 或 "demo" 的所有元素
element$("p")所有 <p> 元素
el1,el2,el3$("h1,div,p")所有 <h1>、<div> 和 <p> 元素
   
:first$("p:first")第一个 <p> 元素
:last$("p:last")最后一个 <p> 元素
:even$("tr:even")所有偶数 <tr> 元素,索引值从 0 开始,第一个元素是偶数 (0),第二个元素是奇数 (1),以此类推。
:odd$("tr:odd")所有奇数 <tr> 元素,索引值从 0 开始,第一个元素是偶数 (0),第二个元素是奇数 (1),以此类推。
   
:first-child$("p:first-child")属于其父元素的第一个子元素的所有 <p> 元素
:first-of-type$("p:first-of-type")属于其父元素的第一个 <p> 元素的所有 <p> 元素
:last-child$("p:last-child")属于其父元素的最后一个子元素的所有 <p> 元素
:last-of-type$("p:last-of-type")属于其父元素的最后一个 <p> 元素的所有 <p> 元素
:nth-child(n)$("p:nth-child(2)")属于其父元素的第二个子元素的所有 <p> 元素
:nth-last-child(n)$("p:nth-last-child(2)")属于其父元素的第二个子元素的所有 <p> 元素,从最后一个子元素开始计数
:nth-of-type(n)$("p:nth-of-type(2)")属于其父元素的第二个 <p> 元素的所有 <p> 元素
:nth-last-of-type(n)$("p:nth-last-of-type(2)")属于其父元素的第二个 <p> 元素的所有 <p> 元素,从最后一个子元素开始计数
:only-child$("p:only-child")属于其父元素的唯一子元素的所有 <p> 元素
:only-of-type$("p:only-of-type")属于其父元素的特定类型的唯一子元素的所有 <p> 元素
   
parent > child$("div > p")<div> 元素的直接子元素的所有 <p> 元素
parent descendant$("div p")<div> 元素的后代的所有 <p> 元素
element + next$("div + p")每个 <div> 元素相邻的下一个 <p> 元素
element ~ siblings$("div ~ p")<div> 元素同级的所有 <p> 元素
   
:eq(index)$("ul li:eq(3)")列表中的第四个元素(index 值从 0 开始)
:gt(no)$("ul li:gt(3)")列举 index 大于 3 的元素
:lt(no)$("ul li:lt(3)")列举 index 小于 3 的元素
:not(selector)$("input:not(:empty)")所有不为空的输入元素
   
:header$(":header")所有标题元素 <h1>, <h2> ...
:animated$(":animated")所有动画元素
:focus$(":focus")当前具有焦点的元素
:contains(text)$(":contains('Hello')")所有包含文本 "Hello" 的元素
:has(selector)$("div:has(p)")所有包含有 <p> 元素在其内的 <div> 元素
:empty$(":empty")所有空元素
:parent$(":parent")匹配所有含有子元素或者文本的父元素。
:hidden$("p:hidden")所有隐藏的 <p> 元素
:visible$("table:visible")所有可见的表格
:root$(":root")文档的根元素
:lang(language)$("p:lang(de)")所有 lang 属性值为 "de" 的 <p> 元素
   
[attribute]$("[href]")所有带有 href 属性的元素
[attribute=value]$("[href='default.htm']")所有带有 href 属性且值等于 "default.htm" 的元素
[attribute!=value]$("[href!='default.htm']")所有带有 href 属性且值不等于 "default.htm" 的元素
[attribute$=value]$("[href$='.jpg']")所有带有 href 属性且值以 ".jpg" 结尾的元素
[attribute|=value]$("[title|='Tomorrow']")所有带有 title 属性且值等于 'Tomorrow' 或者以 'Tomorrow' 后跟连接符作为开头的字符串
[attribute^=value]$("[title^='Tom']")所有带有 title 属性且值以 "Tom" 开头的元素
[attribute~=value]$("[title~='hello']")所有带有 title 属性且值包含单词 "hello" 的元素
[attribute*=value]$("[title*='hello']")所有带有 title 属性且值包含字符串 "hello" 的元素
[name=value][name2=value2]$( "input[id][name$='man']" )带有 id 属性,并且 name 属性以 man 结尾的输入框
   
:input$(":input")所有 input 元素
:text$(":text")所有带有 type="text" 的 input 元素
:password$(":password")所有带有 type="password" 的 input 元素
:radio$(":radio")所有带有 type="radio" 的 input 元素
:checkbox$(":checkbox")所有带有 type="checkbox" 的 input 元素
:submit$(":submit")所有带有 type="submit" 的 input 元素
:reset$(":reset")所有带有 type="reset" 的 input 元素
:button$(":button")所有带有 type="button" 的 input 元素
:image$(":image")所有带有 type="image" 的 input 元素
:file$(":file")所有带有 type="file" 的 input 元素
:enabled$(":enabled")所有启用的元素
:disabled$(":disabled")所有禁用的元素
:selected$(":selected")所有选定的下拉列表元素
:checked$(":checked")所有选中的复选框选项
.selector$(selector).selector在jQuery 1.7中已经不被赞成使用。返回传给jQuery()的原始选择器
:target$( "p:target" )选择器将选中ID和URI中一个格式化的标识符相匹配的<p>元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值