jQuery 常用选择器

jQuery 选择器

  • 在 jQuery 中选择元素,就是暴露在全局的两个函数
$div = $("div");
//或者
$div = jQuery("div");

其实就是相当于使用 js 获取的 dom 元素,但是使用 jQuery 获取到的元素,不能使用原生的 js 方法来操作,必须使用jQuery提供的方法操作。
js原生获取到的dom元素也不能使用jQuery的方法来操作。

  • jquery获取元素获取到的都是伪数组 - jquery对象;jquery对象不能使用原生js操作dom元素的方法来操作,除非将jquery对象取下标拿到精准的dom元素:
$("div")[0] // 取下标
$("div").get(下标); // 下标
  • 原生js的dom元素也不能使用jquery提供的方法操作,除非将dom元素转为jquery对象:
var div = document.querySelector("div");
$(div).text();

注意:在原生js中的this,在jquery中是$(this)

基础选择器

$("div")		// 标签选择器
$("#div")		// id选择器
$(".div")		// 类名选择器
$("*")			// 通配选择器
$("div1,div2")	// 并集选择器

层级选择器

<ul>
	<li>1</li>
	<li>2
		<ol>
			<li>3</li>
			<li>4</li>
		</ol>
	</li>
</ul>
<dl>
	<dt>5</dt>
	<dd>6</dd>
	<dd>7</dd>
</dl>
ancestor descendant	// 在给定的祖先元素下匹配所有的后代元素
例如:$("ul li")	// 选中的是 1,2,3,4


parent > child		// 在给定的父元素下匹配所有的子元素
例如:$("ul>li")	// 选中的是 1,2

prev + next			// 匹配所有紧接在 prev 元素后的 next 元素
例如:$("dt+dd")	// 选中的是 6

prev ~ siblings		// 匹配 prev 元素之后的所有 siblings 元素		
例如:$("dt~dd")	// 选中的是 6,7

属性选择器

<input name="abc"/>		<!-- 1 -->
<input name="dbc"/>		<!-- 2 -->
<input name="aca"/>		<!-- 3 -->
<input type="text" name="ccc"/>		<!-- 4 -->
[attribute]				// 匹配包含给定属性的元素
$("[name]")				// 选中的是 1,2,3

[attribute=value]		// 匹配给定的属性是某个特定值的元素
$("input[name='abc']")	// 选中的是 1

[attribute!=value]		// 匹配所有属性不等于特定值的元素
$("input[name='abc']")	// 选中的是 2,3

[attribute^=value]		// 匹配给定的属性是以某些值开始的元素
$("input[name='a']")	// 选中的是 1,3

[attribute$=value]		// 匹配给定的属性是以某些值结尾的元素
$("input[name='c']")	// 选中的是 1,2

[attribute*=value]		// 匹配给定的属性是以包含某些值的元素
$("input[name='d']")	// 选中的是 2

[attrSel1][attrSel2]	// 复合属性选择器,需要同时满足多个条件时使用
$("input[type][name='ccc']")	// 选中的是 4

伪类选择器

$("li:first-child")
$("li:last-child")
$("li:nth-child(数字)") 	// 第一个元素对应的是1

$("li:first-of-type");
$("li:last-of-type");
$("li:nth-of-type");

$("li:only-child")
$("li:only-of-type");

内容和可见性选择器

$("div:contains('John')")	// 匹配包含给定文本的元素
$("div:empty")				// 匹配所有不包含子元素或者文本的空元素
$("div:has(p)")				// 匹配含有选择器所匹配的元素的元素
$("div:parent")				// 匹配含有子元素或者文本的元素
$("div:hidden")				// 匹配所有不可见元素,或者type为hidden的元素
$("div:visible")			// 匹配所有的可见元素

表单元素选择器

$(":input") // 匹配所有的表单元素 包括:文本框(input)下拉列表(select)、文本域(textarea)
$(":text") // 匹配单行文本框type="text" $("input:text") $("input[type=text]")
$(":password") // 匹配单行密码框
$(":radio") // 匹配单选按钮
$(":checkbox") // 匹配多选按钮
$(":submit") // 匹配提交按钮
$(":reset") // 匹配重置按钮
$(":image") // 匹配图片按钮
$(":button") // 匹配普通按钮
$(":file") // 匹配文件上传

表单对象选择器

$("input:enabled") // 所有可用表单元素
$("input:disbaled") // 所有禁用表单元素
$("input:checked") // 所有选中的表单元素
$("select:selected") // 被选中的下拉框元素

jQuery 筛选器

基础筛选器

$("li:first")	// 找到所有 li 中的第一个
$("li:last")	// 找到所有 li 中的最后一个
$("li:event")	// 找到所有 li 中索引为 偶数 的
$("li:odd")		// 找到所有 li 中索引为 奇数 的
$("li:eq(数字)") // 选择下标是指定数字的元素
$("li:lt(数字)") // 下标小于指定数字的元素
$("li:gt(数字)") // 下标大于指定数字的元素
$(":header")	// 匹配如 h1, h2, h3之类的标题元素
$(":focus")		// 匹配当前获取焦点的元素。
$(":root")		// 选择该文档的根元素<html>

筛选器方法

$("div").eq(数字) // 指定下标的div元素,0开头
$("li").first() // 第一个元素
$("li").last() // 最后一个元素
$("div").next() // div的下一个兄弟元素
$("div").prev() // div的上一个兄弟元素
$("div").nextAll() // div后面的所有兄弟元素
$("div").prevAll() // div前面的所有兄弟元素
$("div").parent() // div的父元素
$("div").parents() // div的所有祖先元素
$("div").siblings() // div的所有兄弟元素
$("div").children([expr])	// div所有的子元素
$("div").find(选择器) // div下的指定元素
$("div").slice(start, [end])	// 选取一个匹配的子集
合。

猜你喜欢

转载自blog.csdn.net/qq_45677671/article/details/114891557