选择器
|
实例
|
选取
|
*
|
$("*")
|
所有元素
|
#
id
|
$("#lastname")
|
id="lastname" 的元素
|
.
class
|
$(".intro")
|
所有 class="intro" 的元素
|
element
|
$("p")
|
所有
<p>
元素
|
.
class
.
class
|
$(".intro.demo")
|
所有 class="intro" 且 class="demo" 的元素
|
|
|
|
:first
|
$("p:first")
|
第一个
<p>
元素
|
:last
|
$("p:last")
|
最后一个
<p>
元素
|
:even
|
$("tr:even")
|
所有偶数
<tr>
元素
|
:odd
|
$("tr:odd")
|
所有奇数
<tr>
元素
|
|
|
|
: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)")
|
所有不为空的 input 元素
|
|
|
|
:header
|
$(":header")
|
所有标题元素
<h1> - <h6>
|
:animated
|
|
所有动画元素
|
|
|
|
:contains(
text
)
|
$(":contains('W3School')")
|
包含指定字符串的所有元素
|
:empty
|
$(":empty")
|
无子(元素)节点的所有元素
|
:hidden
|
$("p:hidden")
|
所有隐藏的
<p>
元素
|
:visible
|
$("table:visible")
|
所有可见的表格
|
|
|
|
s1,s2,s3
|
$("th,td,.intro")
|
所有带有匹配选择的元素
|
|
|
|
[
attribute
]
|
$("[href]")
|
所有带有 href 属性的元素
|
[
attribute
=
value
]
|
$("[href='#']")
|
所有 href 属性的值等于 "#" 的元素
|
[
attribute
!=
value
]
|
$("[href!='#']")
|
所有 href 属性的值不等于 "#" 的元素
|
[
attribute
$=
value
]
|
(
"
[
h
re
f
='.jpg']")
|
所有 href 属性的值包含以 ".jpg" 结尾的元素
|
|
|
|
: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")
|
所有激活的 input 元素
|
:disabled
|
$(":disabled")
|
所有禁用的 input 元素
|
:selected
|
$(":selected")
|
所有被选取的 input 元素
|
:checked
|
$(":checked")
|
所有被选中的 input 元素
|
$("#id属性") id选择器
选择某个id的元素,具有唯一性
$(function () {
$("#btn").click(function () {
$(".类名") 类选择器
选择某个或者是多个元素
$(".cls").css("backgroundColor", "yellow");
$(".cls").css("border", "1px solid red");
.css("属性","值")
$("标签名字") 标签选择器
多个元素或者是某个元素
$(function () {
$("#btn").click(function () {
$("p").text("我们都是p标签");
.text()方法相当于DOM中的.innerText属性
对象.text() -> 获取该元素的文本内容
对象.text("值") -> 设置该元素的文本内容
⚠️注意: 本身代码没有循环操作,jQuery中内部帮助我们循环操作的 -> 隐式迭代
$(标签名.类样式的名字) 交集选择器(标签+类选择器)
$(function () {
$("#btn").click(function () {
$("p.cls").css("backgroundColor", "green");
$(选择器,选择器..) 并集选择器(多条件选择器)
$(function () {
$("#btn").click(function () {
$("#dv,p,.cls").css("backgroundColor", "orange");
层次选择器(后代选择器)
$("A B") 后代选择器
$("A > B") 子选择器
$("#A~B") 后面的全部元素
$("#A+B") 下一个元素
$("#btn").click(function () {
$("#div span").css("backgroundColor","red");
$("#div>span").css("backgroundColor","red");
$("#div~span").css("backgroundColor","red");
$("#div+span").css("backgroundColor","red");
属性选择器
$("A[属性名]") 属性名称选择器
$("A[属性名='值']") 属性值选择器
$("A[属性名='值'][]...") 复合属性选择器
过滤选择器(筛选器)
$("选择器:first") 首元素选择器
$("选择器:last") 尾元素选择器
$("选择器:odd") 奇数选择器
$("选择器:even") 偶数选择器
$("选择器:lt(索引)") 小于索引选择器
$("选择器:gt(索引)") 大于索引选择器
$("选择器:header") 标题选择器
$("选择器:eq(index)") 等于索引选择器
$("选择器:not(selector)") 非元素选择器
表单过滤选择器
:enabled 获得可用元素
:disabled 获得不可用元素
:checked 获得单选/复选框选中的元素
:selected 获得下拉框选中的元素
.index() 索引选择器
.filter()
$('li').filter('.a').css('background-color', 'red')
.has()
$('li').has('span').css('background-color', 'red')
.find()
$('li').find('span').css('background-color', 'red');
⚠️注意: filter()方法与has()方法中的参数,都是过滤条件。不同的是filter()方法,条件作用于自身;has()方法条件是作用于它的后代元素中
有元素获取其他元素的方法
当前元素.next() -> 下一个兄弟元素
当前元素.nextAll() -> 后面所有的兄弟元素
当前元素.prev() -> 前一个兄弟元素
当前元素.prevAll() -> 前面所有的兄弟元素
当前元素.siblings() -> 所有的兄弟元素(没有自己)
当前元素.parent() -> 父级元素
当前元素.children() -> 当前元素中所有的子元素(直接的子元素)
当前元素.find("选择器") -> 从当前元素中找某个或者是某些元素
当前元素.has("选择器") -> 从当前元素中检索后代是否存在匹配的元素
当前元素.filter("选择器") -> 操作当前元素集,删除不匹配的元素,得到一个新的集合
使用JQ选择器的案例
<script src="https://libs.baidu.com/jquery/2.1.1/jquery.min.js"></script>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<script>
$("ul>li:even").css("backgroundColor", "red");
$("ul>li:odd").css("backgroundColor", "yellow");
</script>
<script src="https://libs.baidu.com/jquery/2.1.1/jquery.min.js"></script>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<script>
$(function () {
$("ul>li").mouseenter(function () {
$(this).css("backgroundColor", "red")
}).mouseleave(function () {
$(this).css("backgroundColor", "")
}).click(function () {
$(this).css("color", "green").css("fontSize", "30px").css("fontFamily", "全新硬笔行书简")
</script>
验证用户输入
验证为中文名字则文本框的背景为绿色,否则为红色
<script src="https://libs.baidu.com/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="username" id="input">
<script>
$(function () {
$("input[name=username]").blur(function () {
var pattern = /^[\u4e00-\u9fa5]{4,8}$/;
if (pattern.test($(this).val())) {
$(this).css("background", "green")
else { $(this).css("background", "red") }
</script>
复制代码