jQuery选择器

选择器

 

1、基本选择器

选择器

描述

返回

示例

#id

根据给定的id匹配一个元素

单个元素

$(“#test”)

.class

根据给定的类名匹配元素

集合元素

$(“.test”)

Element

根据给定的元素名匹配元素

集合元素

$(“p”)

*

匹配所有元素

集合元素

$(“*”)

Selector1,sel2…selN

将每一个选择器匹配到的元素合并后一起返回

集合元素

$(“div,span,p.myClass”)

 

2、层次选择器

选择器

描述

返回

示例

$(“A B”)

选择A元素里的所有B(后代)元素

集合元素

$(“div span”)选取<div>里的所有的<span>元素

$(“A > B”)

选取A元素下的child(子)元素

集合元素

$(“div > span”)选取<div>元素下元素名是<span>的子元素

$(“A + B”)

选取紧接在A元素后的B元素

集合元素

 

$( “A~B ” )

选取A元素之后的所有B元素

集合元素

 

 

 

 

 

 

3、过滤选择器

选择器

描述

返回

示例

:first

选取第一个元素

单个元素

$(“div:first”)选取所有<div>元素中第一个<div>元素

:last

选取最后一个元素

单个元素

$(“div:last”)选取所有<div>元素中最后一个<div>元素

:not(selector)

去除所有与给定选择器匹配的元素

集合元素

$(“input:not(.myClass)”选取class不是myClass的<input>元素

:even

选取索引是偶数的所有元素,索引从0开始

集合元素

$(“input:even”)选取索引是偶数的<input>元素

:odd

选取索引是奇数的所有元素,索引从0开始

集合元素

$(“input:odd”)

:eq(index)

选取索引等于index的元素(index从0开始)

单个元素

$(“input:eq(1)”)选取索引等于1的<input>元素

:gt(index)

选取索引大于index的元素

 

 

:lt(index)

选取索引小于index的元素

 

 

:header

选取所有的标题元素,例如h1,h2,h3

 

$(“:header”)

:animated

选取当前正在执行动画的所有元素

 

$(“div:animated”)选取正在执行动画的div元素

 

4、内容过滤选择器

选择器

描述

返回

示例

:contains(text)

选取含有文本内容为”text”的元素

集合元素

$(“div:contains(‘我’)”)选取含有文本“我”的<div>元素

:empty

选取不包含子元素或者文本的空元素

集合元素

$(“div:empty”)选取不包含子元素(包含文本元素)的<div>空元素

:has(selector)

选取含有选择器所匹配的元素的元素

集合元素

$(“div:has(p)”)选取含有<p>元素的<div>元素

:parent

选取含有子元素或者文本的元素

集合元素

$(“div:parent”)选取拥有子元素(包括文本元素)的<div>元素

 

 

 

 

 

5、可见性过滤选择器

选择器

描述

返回

示例

:hidden

选取所有不可见的元素

 

 

:visible

选取所有可见的元素

 

 

 

 

 

 

 

 

 

 

 

6、属性过滤选择器

选择器

描述

返回

示例

[attribute]

选取拥有此属性的元素

集合元素

$(“div[id]”) 选取拥有属性id的元素

[attribute=value]

选取属性的值为value的元素

集合元素

$(“div[title=test]”)选取属性title为“test”的<div>元素

[attribute!=value]

选取属性的值不等于value的元素

集合元素

$(“div[title!=test]”)选取属性title不等于”test”的<div>元素(注意:没有属性title的<div>元素也会被选取)

[attribute^=value]

选取属性的值以value开始的元素

集合元素

$(“div[title^=test]”)选取属性title以”test”开始的<div>元素

[attribute$=value]

选取属性的值以value结束的元素

集合元素

$( “div[title$=test]” ) 选取属性title以”test”结束的<div>元素

[attribute*=value]

选取属性的值含有value的元素

集合元素

$( “div[title*=test]” ) 选取属性title含有”test”的<div>元素

[selector1][selector2][selectorn]

用属性选择器合并成一个复合属性选择器,满足多个条件。每选择一次,缩小一次范围

集合元素

$(“div[id][title$=’test’]”) 选取拥有属性id,并且属性title以”test”结束的<div>元素

 

 

7、子元素过滤选择器

选择器

描述

返回

示例

:nth-child( index/even/odd/equation )

选取每个父元素下的第index个子元素或者奇偶元素(index从1算起)

集合元素

:eq(index)只匹配一个元素,而:nth-child将为每一个父元素匹配子元素,并且:nth-child(index)的index是从1开始的,而:eq(index)是从0开始的

:first-child

选取每个父元素的第1个子元素

集合元素

:first值返回单个元素,而:first-child选择符将为每个父元素匹配第1个子元素。如,
$(“ul li:first-child”) 选取每个<ul>中第1个<li>元素

:last-child

选取每个父元素的最后一个子元素

集合元素

同样,:last只返回单个元素,而:last-child选择符将为每个父元素匹配最后一个元子元素。
$(“ul li:last-child”)

:only-child

如果某个元素是它父元素中惟一的子元素,那么将会被匹配。如果父元素中含有其他元素,则不会被匹配

集合元素

$(“ul li:only-child”) 在<ul>中选取是惟一子元素的<li>元素

 

:nth-child()选择器是很常用的子元素过滤选择器,
1):nth-child(even) 能选取每个父元素下的索引值是偶数的元素

2)::nth-child(odd) 能选取每个父元素下的索引值是奇数的元素

3)::nth-child(2) 选取每个父元素下的索引值等于2的元素

4)::nth-child(3n) 选取每个父元素下的索引值是3的倍数的元素,(n从0开始)

5)::nth-child(3n+1) 选取每个父元素下的索引值是(3n+1)的元素。(n从0开始)

 

8、表单对象属性过滤选择器

选择器

描述

返回

示例

:enabled

选取所有可用元素

集合元素

$(“#form1 :enabled”)
选取id为form1的 表单内的所有可用元素

:disabled

选取所有不可用元素

集合元素

$(“#form2 :disabled”)
选取id为form2的表单内的所有不可用元素

:checked

选取所有被选中的元素(单选框、复选框)

集合元素

$(“input:checked”)
选取所有被选中的<input>元素

:selected

选择所有被选中的选择元素(下拉列表)

集合元素

$(“select  :selected”)
选取所有被选中的选项元素、

 

9、表单选择器

选择器

描述

返回

示例

:input

选取所有的<input>
<textarea>
<select>
<button>元素

集合元素

$(“:input”)

:text

选取所有的单行文本框

集合元素

$(“:text”)选取所有的单行文本框

:password

选取所有的密码框

集合元素

$(“:password”)选取所有的密码框

:radio

选取所有的单选框

集合元素

$(“:radio”)

:checkbox

选取所有的多选框

集合元素

$(“:checkbox”)

:submit

选取所有的提交按钮

集合元素

 

:image

选取所有的图像按钮

集合元素

 

:reset

选取所有的重置按钮

集合元素

 

:button

选取所有的按钮

集合元素

 

:file

选取所有的上传域

集合元素

 

:hidden

选取所有的不可见元素

集合元素

 

 

1、  show() 显示隐藏的匹配元素

2、  css(name,value) 给元素设置样式

3、  text(string) 设置所有匹配元素的文本内容

4、  filter(expr) 筛选出与指定表达式匹配的元素集合,其中,expr可以是多个选择器的组合

5、  addClass(class) 为匹配的元素添加指定的类名

6、  .is(selector)
selector----字符串值,包含匹配元素的选择器表达式。
is() 根据选择器、元素或 jQuery 对象来检测匹配元素集合,如果这些元素中至少有一个元素匹配给定的参数,则返回 true。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>无标题文档</title>

<script type="text/javascript" src="jquery-1.6.4.min.js"></script>

<script type="text/javascript">

$(function(){

   var $category = $('ul li:gt(5):not(:last)');         //  获得索引值大于5的品牌集合对象(除最后一条) 

   $category.hide();

   var $toggleBtn = $('div.showmore > a');  

   $toggleBtn.click(function(){

                         if($category.is(":visible")){

                                               $category.hide();                                     //  隐藏$category

                                               $('.showmore a span')

                                                        .css("background","url(images/down.gif) no-repeat 0 3px")     

                                                        .text("显示全部品牌");                  //改变背景图片和文本

                                               $('ul li').removeClass("promoted");                            // 去掉高亮样式

                              }else{

                                               $category.show();                                   //  显示$category

                                               $('.showmore a span')

                                                        .css("background","url(images/up.gif) no-repeat 0 3px")     

                                                        .text("精简显示品牌");                  //改变背景图片和文本

                                               $('ul li').filter(":contains('佳能'),:contains('尼康'),:contains('奥林巴斯')")

                                                        .addClass("promoted");                              //添加高亮样式

                              }

                            return false;                                                     //超链接不跳转

                   });       

});

</script>

<style>

 *{ margin:0; padding:0;}

body {font-size:12px;text-align:center;}

a { color:#04D; text-decoration:none;}

a:hover { color:#F50; text-decoration:underline;}

.SubCategoryBox{width:600px; margin:0 auto; text-align:center;margin-top:40px;}

.SubCategoryBox ul { list-style:none;}

.SubCategoryBox ul li { display:block; float:left; width:200px; line-height:20px;}

.showmore { clear:both; text-align:center;padding-top:10px;}

.showmore a { display:block; width:120px; margin:0 auto; line-height:24px; border:1px solid #AAA;}

.showmore a span { padding-left:15px; background:url(images/down.gif) no-repeat 0 3px;}

.promoted a { color:#F50;}

</style>

</head>

 

<body>

<div class="SubCategoryBox">

   <ul>

    <li ><a href="#">佳能</a><i>(30440) </i></li>

    <li ><a href="#">索尼</a><i>(27220) </i></li>

    <li ><a href="#">三星</a><i>(20808) </i></li>

    <li ><a href="#">尼康</a><i>(17821) </i></li>

    <li ><a href="#">松下</a><i>(12289) </i></li>

    <li ><a href="#">卡西欧</a><i>(8242) </i></li>

    <li ><a href="#">富士</a><i>(14894) </i></li>

    <li ><a href="#">柯达</a><i>(9520) </i></li>

    <li ><a href="#">宾得</a><i>(2195) </i></li>

    <li ><a href="#">理光</a><i>(4114) </i></li>

    <li ><a href="#">奥林巴斯</a><i>(12205) </i></li>

    <li ><a href="#">明基</a><i>(1466) </i></li>

    <li ><a href="#">爱国者</a><i>(3091) </i></li>

    <li ><a href="#">其它品牌相机</a><i>(7275) </i></li>

   </ul>

  

   <div class="showmore">

    <a href="more.html"><span>显示全部品牌</span></a>

   </div>

  

  

</div>

</body>

</html>

 

$(".test1").toggle(function(){  alert('a'); },function(){ alert('b'); });            

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值