一、基本选择器
1)ID选择器
2)标签选择器
3 ) 类选择器
4 ) 通配符选择器
二、层级选择器
1 ) 包含选择器
2 ) 子选择器
3 ) 相邻选择器
4 ) 兄弟选择器
三、简单的伪类选择器
1 ) 特定位置选择器
2 ) 指定范围选择器
3 ) 排除选择器
四、与内容相关的伪类选择器
1 ) 匹配包含文本选择器
2) 匹配包含元素选择器
3 ) 匹配包含判断选择器
4 ) 解析内容过滤实现原理
五、与元素显示状态相关的伪类选择器
六、匹配子元素的伪类选择器
七、与表单对象相关的伪类选择器
-------------------------------------------------------------------------------------------
一、基本选择器
1、ID选择器,语法:jQuery("#id")
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("#div1").css("background","red");
})
</script>
<title>上机练习</title>
</head>
<body>
<div id="div1">测试盒子</div>
</body>
</html>
2、标签选择器,语法: jQuery("element")
注意:不需要附加前缀(#)
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("div").css("color","red");
})
</script>
<title>无标题文档</title>
</head>
<body>
<div>div1</div>
<div>div2</div>
<div>div3</div>
</body>
</html>
3、类选择器,语法:jQuery(".className")
className为字符串,表示标签的class属性值,前缀符号“.”表示该选择器为类选择器。返回值为包含匹配className元素的jQuery对象。
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script> <script type="text/javascript"> $(function(){ $(".red").css("color","red"); }) </script> <title>无标题文档</title> </head> <body> <div class="red">div1</div> <div>div2</div> <div class="red">div3</div> </body> </html>
4、通配符选择器,语法:jQuery("*")
参数“*”为字符串,表示将匹配指定范围内所有的标签元素。
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("body *").css("color","red");
})
</script>
<title>无标题文档</title>
</head>
<body>
<div>DIV</div>
<span>SPAN</span>
<p>P</p>
</body>
</html>
二、层级选择器
1、包含选择器,语法:jQuery("ancestor descendant")
其中,ancestor表示包含选择器,descendant表示被包含选择器。
jQuery能够在ancestor选择器所匹配的元素中,过滤出匹配ancestor选择器的所有包含元素。
eg:
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("form input").css({"border":"solid 1px red","background":"blue"});
})
</script>
<title>无标题文档</title>
</head>
<body>
〈form>
<fieldset>
<label>包含的子文本框
〈input/>
</label>
<fieldset>
<label>包含的孙子文本框
〈input />
</label>
</fieldset>
</fieldset>
</form>
<label>非包含的文本框
〈input />
</label>
</body>
</html>
2、子选择器,语法:jQuery("parent>child")
其中,parent表示父选择器,child表示被包含的子选择器,“>”为子选择器的标识符。jQuery能够在parent选择器所匹配的元素中,过滤出所有匹配child选择器的子元素。
eg:
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("div > img").css("border","solid 5px red");
})
</script>
<title>无标题文档</title>
</head>
<body>
<div>
<span><img src="images/bg.jpg" /></span>
<img src="images/bg.jpg" />
</div>
<img src="images/bg.jpg" />
</body>
</html>
3、相邻选择器,语法:jQuery("prev+next")
其中,prev表示相邻的前一个选择器,next表示相邻的后一个选择器,
"+"为相邻选择器的标识符。jQuery能够在prev选择器所匹配的元素后,过滤出所有匹配next选择器的紧邻同级元素。
eg:
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("div + img").css("border","solid 5px red");
})
</script>
<title>无标题文档</title>
</head>
<body>
<div>
<span><img src="images/bg.jpg" /></span>
<img src="images/bg.jpg" />
</div>
<img src="images/bg.jpg" />
<img src="images/bg.jpg" />
</body>
</html>
4、兄弟选择器,语法: jQuery("pre ~ siblings")
其中,prev表示相邻的前一个选择器,siblings表示相邻的同级选择器,
“~”为兄弟选择器的标识符。jQuery能够在prev选择器所匹配的元素后,过滤出所有匹配siblings选择器的同级元素/
eg:
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("div ~ img").css("border","solid 5px red");
})
</script>
<title>无标题文档</title>
</head>
<body>
<div>
<span><img src="images/bg.jpg" /></span>
<img src="images/bg.jpg" />
</div>
<img src="images/bg.jpg" />
<img src="images/bg.jpg" />
</body>
</html>
5、层级选择器综合应用
三、简单的伪类选择器
简单的伪类选择器也称为定位过滤器,因为他们主要根据编号和排位筛选特定位置上的元素,或者过滤掉特定元素
1、特定位置选择器
主要包括 :first 、 :last和:qe(index)3 种。:first能够在匹配的集合中选择第1个元素,相反:last能够在匹配的集合中选择最后一个元素,而
:eq(index)能够根据index索引值确定指定位置的元素。具体用户如下:
jQuery("selector:first")
jQuery("selector:last")
jQuery("selector:eq(index)") ,index从0开始计数
eg:
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("tr:first").css({"background":"blue","color":"white"});
$("tr:qe(1)").css("background","#F1F5FB");
$("tr:last").css("background","#ff9");
})
</script>
<title>无标题文档</title>
</head>
<body>
<table>
<tr><th>选择器</th><th>说明</th></tr>
<tr><td>:first</td><td>匹配找到的第1个元素。</td></tr>
<tr><td>:last</td><td>匹配找到的最后一个元素。</td></tr>
</table>
</body>
</html>
2、指定范围选择器
主要包括 :even 、:odd 、 :gt(index)和:lt(index) 四种
:even 匹配集合中选择所有偶数行元素
:odd 匹配集合中选择所有级奇数行元素
:gt(index) 匹配集合中选择大于给定索引值的元素
:lt(index) 匹配集合中选择小于给定索引值的元素
eg:
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("tr:even").css("background","#F1F5FB");
$("tr:odd").css("background","#ff9");
$("tr:first").css({"background":"blue","color":"white"});
})
</script>
<title>无标题文档</title>
</head>
<body>
<table>
<tr><th>选择器</th><th>说明</th></tr>
<tr><td>:first</td><td>匹配找到的第1个元素。</td></tr>
<tr><td>:last</td><td>匹配找到的最后一个元素。</td></tr>
<tr><td>:first</td><td>匹配找到的第1个元素。</td></tr>
<tr><td>:last</td><td>匹配找到的最后一个元素。</td></tr>
<tr><td>:first</td><td>匹配找到的第1个元素。</td></tr>
<tr><td>:last</td><td>匹配找到的最后一个元素。</td></tr>
</table>
</body>
</html>
3、排除选择器
语法:jQuery("selector1:not(selector2)");参数selector1、selector2和not为字符串,其中,selector1和selector2表示任意形式的选择器,“:”为伪类选择器的标识符,not表示排除函数标识符。
eg:
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("tr:even").css("background","#F1F5FB");
$("tr:odd").css("background","#ff9");
$("tr:first").css({"background":"blue","color":"white"});
$("tr:not(tr:lt(3))").css({"background":"white","color":"black"});
})
</script>
<title>无标题文档</title>
</head>
<body>
<table>
<tr><th>选择器</th><th>说明</th></tr>
<tr><td>:first</td><td>匹配找到的第1个元素。</td></tr>
<tr><td>:last</td><td>匹配找到的最后一个元素。</td></tr>
<tr><td>:first</td><td>匹配找到的第1个元素。</td></tr>
<tr><td>:last</td><td>匹配找到的最后一个元素。</td></tr>
<tr><td>:first</td><td>匹配找到的第1个元素。</td></tr>
<tr><td>:last</td><td>匹配找到的最后一个元素。</td></tr>
</table>
</body>
</html>
四、与内容相关的伪类选择器
:contains -〉匹配包含给定文本的元素。例如,$("div:contains('图片')")匹配所有包含“图片”的div元素
:empty -〉匹配所有不包含子元素或者文本的空元素。
:has -〉匹配含有选择器所匹配的元素的元素。例如。$("div:has(p)") 匹配所有包含p元素的div元素
1、匹配包含文本选择器
语法:jQuery("selector:contains(text)")
<script src="jQuery/jquery-1.6.4.js" type="text/javascript" ></script>
<script type="text/javascript">
$(
function(){
$("dd:contains('乔布斯')").css("text-decoration","underline");
}
)
</script>
<title>无标题文档</title>
</head>
<body>
<h2>纪念乔布斯的评论</h2>
<dl>
<dt>李德0202:</dt>
<dd>司法官神风怪盗法国分公司公司发的,国防生大哥,国防生的故事法国,国防生大哥</dd>
<dt>啊大法师反对法:</dt>
<dd>乔布斯走了,反对反对,放大发射点法,啊大法师法的放大三发,史蒂夫.乔布斯!1955-2011 永远铭记在我们心里!乔布斯,一路走好!</dd>
<dt>啊大法发射点发生的发</dt>
<dd>歌功颂德丰功硕德发个三的发个</dd>
</dl>
</body>
</html>
2、匹配包含元素选择器
语法: jQuery("selector1:has(selector2)");
3、匹配包含判断选择器
语法:jQuery("selector:empty");
jQuery("selector:parent");
:empty匹配元素中包含空内容的元素
:parent匹配元素中包含非空内容的元素
4、解析内容过滤实现原理
五、与元素显示状态相关的伪类选择器
:hidden 匹配所有不可见元素,或者type为hidden的元素
:visible 匹配所有的可见元素
六、匹配子元素的伪类选择器
:nth-child 匹配其父元素下的第N个子或奇偶元素
:first-child 匹配第一个子元素。:first只匹配一个元素,而:first-child选择器将为每个父元素匹配一个子元素
:last-child 匹配最后一个子元素。:last只匹配一个元素,而:last-child选择器将为每个父元素匹配一个子元素
:only-child 如果某个元素是父元素中唯一的子元素,那将会被匹配;如果父元素中含有其他元素,那将不会被匹配
七、与表单对象相关的伪类选择器
:input 匹配所有input , textarea,select和button元素
:text 匹配所以的单行文本框
:password 匹配所有密码框
:radio 匹配所有单选框
:checkbox 匹配所有复选框
:submit 匹配所有提交按钮
:image 匹配所有图像域
:reset 匹配所有重置按钮
:button 匹配所有按钮
:file 匹配所有文件
:hidden 匹配所有不可见元素