基本选择器是 jQuery 中最常用的选择器, 也是最简单 的选择器, 它通过元素 id, class 和标签名来查找 DOM 元素 (在网页中 id 只能使用一次, class 允许重复使用)
3.1 代码示例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"><title>Untitled Document</title><styletype="text/css">div, span, p{width: 140px;height: 140px;margin: 5px;background: #aaa;border: #000 1px solid;float: left;font-size: 17px;font-family: Verdana;}div.mini{width: 55px;height: 55px;background-color: #aaa;font-size: 12px;}div.hide{display: none;}</style><!-- 导入 jQuery 库 --><scripttype="text/javascript"src="jquery-1.7.2.js"></script><scripttype="text/javascript">$(function(){//1. 使用 id 选择器选择 id=btn1 的元素: $("#btn1")//2. 为选择的 jQuery 对象添加 onclick 响应函数: // $("#btn1").click(function(){}), 响应函数的代码//写在 function(){} 的中括号中.//让id为btn1的样式点击是触发一下函数$("#btn1").click(function(){//选择id为one的css,将背景颜色改变为#ffbbaa$("#one").css("background","#ffbbaa");});$("#btn2").click(function(){//选择class为mini的css,将背景颜色改变为#ffbbaa$(".mini").css("background","#ffbbaa");});$("#btn3").click(function(){//选择元素名字为div的css,将背景颜色改变为#ffbbaa$("div").css("background","#ffbbaa");});$("#btn4").click(function(){//选择所有元素,将背景颜色改变为#ffbbaa$("*").css("background","#ffbbaa");});$("#btn5").click(function(){//选择span和id为two的css,将背景颜色改变为#ffbbaa$("span,#two").css("background","#ffbbaa");});})</script></head><body><inputtype="button"value="选择 id 为 one 的元素"id="btn1"/><inputtype="button"value="选择 class 为 mini 的所有元素"id="btn2"/><inputtype="button"value="选择 元素名是 div 的所有元素"id="btn3"/><inputtype="button"value="选择 所有的元素"id="btn4"/><inputtype="button"value="选择 所有的 span 元素和id为two的元素"id="btn5"/><br><br><divclass="one"id="one">
id 为 one,class 为 one 的div
<divclass="mini">class为mini</div></div><divclass="one"id="two"title="test">
id为two,class为one,title为test的div
<divclass="mini"title="other">class为mini,title为other</div><divclass="mini"title="test">class为mini,title为test</div></div><divclass="one"><divclass="mini">class为mini</div><divclass="mini">class为mini</div><divclass="mini">class为mini</div><divclass="mini"></div></div><divclass="one"><divclass="mini">class为mini</div><divclass="mini">class为mini</div><divclass="mini">class为mini</div><divclass="mini"title="tesst">class为mini,title为tesst</div></div><divstyle="display:none;"class="none">style的display为"none"的div</div><divclass="hide">class为"hide"的div</div><div>
包含input的type为"hidden"的div<inputtype="hidden"size="8"></div><spanid="span">^^span元素^^</span></body></html>
4. 层次选择器
如果想通过 DOM 元素之间的层次关系来获取特定元素, 例如后代元素, 子元素, 相邻元素, 兄弟元素 等, 则需要使用层次选择器
4.1 代码示例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"><title>Untitled Document</title><styletype="text/css">div, span, p{width: 140px;height: 140px;margin: 5px;background: #aaa;border: #000 1px solid;float: left;font-size: 17px;font-family: Verdana;}div.mini{width: 55px;height: 55px;background-color: #aaa;font-size: 12px;}div.hide{display: none;}</style><scripttype="text/javascript"src="jquery-1.7.2.js"></script><scripttype="text/javascript">$(function(){$("#btn1").click(function(){//选择 body 内的所有 div 元素$("body div").css("background","#ffbbaa");});$("#btn2").click(function(){//在 body 内, 选择子元素是 div 的$("body > div").css("background","#ffbbaa");});$("#btn3").click(function(){//选择 id 为 one 的下一个 div 元素$("#one + div").css("background","#ffbbaa");});$("#btn4").click(function(){//选择 id 为 two 的元素后面的所有 div 兄弟元素$("#two ~ div").css("background","#ffbbaa");});$("#btn5").click(function(){//选择 id 为 two 的元素所有 div 兄弟元素$("#two").siblings("div").css("background","#ffbbaa");});$("#btn6").click(function(){//选择 id 为 one 的下一个 span 元素(只有第一个)//以下选择器选择的是近邻 #one 的 span 元素, 若该span//和 #one 不相邻, 选择器无效. //$("#one + span").css("background", "#ffbbaa");$("#one").nextAll("span:first").css("background","#ffbbaa");});$("#btn7").click(function(){//选择id为two前面所有div$("#two").prevAll("div").css("background","#ffbbaa");});})</script></head><body><inputtype="button"value="选择 body 内的所有 div 元素"id="btn1"/><inputtype="button"value="在 body 内, 选择子元素是 div 的."id="btn2"/><inputtype="button"value="选择 id 为 one 的下一个 div 元素"id="btn3"/><inputtype="button"value="选择 id 为 two 的元素后面的所有 div 兄弟元素"id="btn4"/><inputtype="button"value="选择 id 为 two 的元素所有 div 兄弟元素"id="btn5"/><inputtype="button"value="选择 id 为 one 的下一个 span 元素"id="btn6"/><inputtype="button"value="选择 id 为 two 的元素前边的所有的 div 兄弟元素"id="btn7"/><br><br><divclass="one"id="one">
id 为 one,class 为 one 的div
<divclass="mini">class为mini</div></div><divclass="one"id="two"title="test">
id为two,class为one,title为test的div
<divclass="mini"title="other">class为mini,title为other</div><divclass="mini"title="test">class为mini,title为test</div></div><divclass="one"><divclass="mini">class为mini</div><divclass="mini">class为mini</div><divclass="mini">class为mini</div><divclass="mini"></div></div><divclass="one"><divclass="mini">class为mini</div><divclass="mini">class为mini</div><divclass="mini">class为mini</div><divclass="mini"title="tesst">class为mini,title为tesst</div></div><divstyle="display:none;"class="none">style的display为"none"的div</div><divclass="hide">class为"hide"的div</div><div>
包含input的type为"hidden"的div<inputtype="hidden"size="8"></div><spanid="span">^^span元素^^</span><spanid="span">--span元素--</span></body></html>
5. 过滤选择器
过滤选择器主要是通过特定的过滤规则来筛选出所 需的 DOM 元素, 该选择器都以 : 开头
5.1 代码示例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"><title>Untitled Document</title><linkrel="stylesheet"type="text/css"href="css/style.css"><styletype="text/css">div, span, p{width: 140px;height: 140px;margin: 5px;background: #aaa;border: #000 1px solid;float: left;font-size: 17px;font-family: Verdana;}div.mini{width: 55px;height: 55px;background-color: #aaa;font-size: 12px;}div.hide{display: none;}</style><scripttype="text/javascript"src="jquery-1.7.2.js"></script><scripttype="text/javascript">$(document).ready(function(){functionanmateIt(){$("#mover").slideToggle("slow", anmateIt);}anmateIt();$("#btn1").click(function(){//选择第一个div$("div:first").css("background","#ffbbaa");});$("#btn2").click(function(){//选择最后一个div$("div:last").css("background","#ffbbaa");});$("#btn3").click(function(){//选择class不为one的div$("div:not(.one)").css("background","#ffbbaa");});$("#btn4").click(function(){//选择索引值为偶数的div$("div:even").css("background","#ffbbaa");});$("#btn5").click(function(){//选择索引值为奇数的div$("div:odd").css("background","#ffbbaa");});$("#btn6").click(function(){//选择索引值大于三的div$("div:gt(3)").css("background","#ffbbaa");});$("#btn7").click(function(){//选择索引值等于三的div$("div:eq(3)").css("background","#ffbbaa");});$("#btn8").click(function(){//选择索引值小于三的div$("div:lt(3)").css("background","#ffbbaa");});$("#btn9").click(function(){//选择所有的标题元素$(":header").css("background","#ffbbaa");});$("#btn10").click(function(){//选择正在执行动画的div$(":animated").css("background","#ffbbaa");});$("#btn11").click(function(){//选择id为two的下一个span(选择第一个)$("#two").nextAll("span:first").css("background","#ffbbaa");});});</script></head><body><inputtype="button"value="选择第一个 div 元素"id="btn1"/><inputtype="button"value="选择最后一个 div 元素"id="btn2"/><inputtype="button"value="选择class不为 one 的所有 div 元素"id="btn3"/><inputtype="button"value="选择索引值为偶数的 div 元素"id="btn4"/><inputtype="button"value="选择索引值为奇数的 div 元素"id="btn5"/><inputtype="button"value="选择索引值为大于 3 的 div 元素"id="btn6"/><inputtype="button"value="选择索引值为等于 3 的 div 元素"id="btn7"/><inputtype="button"value="选择索引值为小于 3 的 div 元素"id="btn8"/><inputtype="button"value="选择所有的标题元素"id="btn9"/><inputtype="button"value="选择当前正在执行动画的所有元素"id="btn10"/><inputtype="button"value="选择 id 为 two 的下一个 span 元素"id="btn11"/><h3>基本选择器.</h3><br><br><divclass="one"id="one">
id 为 one,class 为 one 的div
<divclass="mini">class为mini</div></div><divclass="one"id="two"title="test">
id为two,class为one,title为test的div
<divclass="mini"title="other">class为mini,title为other</div><divclass="mini"title="test">class为mini,title为test</div></div><divclass="one"><divclass="mini">class为mini</div><divclass="mini">class为mini</div><divclass="mini">class为mini</div><divclass="mini"></div></div><divclass="one"><divclass="mini">class为mini</div><divclass="mini">class为mini</div><divclass="mini">class为mini</div><divclass="mini"title="tesst">class为mini,title为tesst</div></div><divstyle="display:none;"class="none">style的display为"none"的div</div><divclass="hide">class为"hide"的div</div><div>
包含input的type为"hidden"的div<inputtype="hidden"size="8"></div><spanid="span">^^span元素 111^^</span><spanid="span">^^span元素 222^^</span><divid="mover">正在执行动画的div元素.</div></body></html>
6. 内容过滤选择器
内容过滤选择器的过滤规则主要体现在它所包含 的子元素和文本内容上
6.1 代码示例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"><title>Untitled Document</title><linkrel="stylesheet"type="text/css"href="css/style.css"><styletype="text/css">div, span, p{width: 140px;height: 140px;margin: 5px;background: #aaa;border: #000 1px solid;float: left;font-size: 17px;font-family: Verdana;}div.mini{width: 55px;height: 55px;background-color: #aaa;font-size: 12px;}div.hide{display: none;}</style><scripttype="text/javascript"src="jquery-1.7.2.js"></script><scripttype="text/javascript">$(document).ready(function(){$("#btn1").click(function(){//选择包含文本内容为di的div元素$("div:contains('di')").css("background","#ffbbaa");});$("#btn2").click(function(){//选择不包含子元素(或者文本元素) 的 div 空元素$("div:empty").css("background","#ffbbaa");});$("#btn3").click(function(){//选择含有 class 为 mini 元素的 div 元素$("div:has(.mini)").css("background","#ffbbaa");});$("#btn4").click(function(){//选择含有子元素(或者文本元素)的div元素$("div:parent").css("background","#ffbbaa");//$("div:not(:empty)").css("background", "#ffbbaa");});});</script></head><body><inputtype="button"value="选择 含有文本 'di' 的 div 元素"id="btn1"/><inputtype="button"value="选择不包含子元素(或者文本元素) 的 div 空元素"id="btn2"/><inputtype="button"value="选择含有 class 为 mini 元素的 div 元素"id="btn3"/><inputtype="button"value="选择含有子元素(或者文本元素)的div元素"id="btn4"/><br><br><divclass="one"id="one">
id 为 one,class 为 one 的div
<divclass="mini">class为mini</div></div><divclass="one"id="two"title="test">
id为two,class为one,title为test的div
<divclass="mini"title="other">class为mini,title为other</div><divclass="mini"title="test">class为mini,title为test</div></div><divclass="one"><divclass="mini">class为mini</div><divclass="mini">class为mini</div><divclass="mini">class为mini</div><divclass="mini"></div></div><divclass="one"><divclass="mini">class为mini</div><divclass="mini">class为mini</div><divclass="mini">class为mini</div><divclass="mini"title="tesst">class为mini,title为tesst</div></div><divstyle="display:none;"class="none">style的display为"none"的div</div><divclass="hide">class为"hide"的div</div><div>
包含input的type为"hidden"的div<inputtype="hidden"size="8"></div><divid="mover">正在执行动画的div元素.</div></body></html>