jQuery学习(二) jQuery选择器

      jQuery选择器$()是jQuery的核心部分,他能够精确查找页面中的元素。
      $()函数不需要像普通的JavaScript代码来遍历一组元素,它能够帮我们自动遍历,下面来看看jQuery常用的选择器。

  1. CSS选择器类型
    • 标签形式:$('p'),这将获得页面中所有的p元素,可以在jQuery中这样写:$('p').addClass('.para'),这样就为整个页面的p元素都添加了样式类.para。
    • CSS的ID选择器形式:$('#thisid'),将会获得id='thisid'的元素,同样可以通过addClass()方法为该元素添加样式规则。
    • 类似CSS的类选择器形式:$('.content'),将会得到class="content"的所有元素(比如<div class="content"></div>)。
  2. XPath选择器类型 
            XML 路径语言( XPath )是一种在 XML 文档中指定不同元素或者它们的值的语言, 它与 CSS HTML 文档中指定元素的方法相类似。 jQuery 库支持支持一套基本的 XPath 选择器,如果我们想的话,我们可以让它与 CSS 选择器一起工作。使用 jQuery ,不管文档的类型如何,我们都可使用 XPath CSS 选择器。             jQuery 使用 XPath 指定属性的约定,属性通过在方括号里用 @ 符号作为前缀指 定,而不是用 CSS 的方法,它缺乏灵活性。例如,选择所有带有 title 属性的链接, 我们会这样写: $('a[@title]')             XPath 语法允许方括号不使用 @ 的用法来指定一个元素。例如,我们可用下面的选 择器表达式来得到所有包含至少一个 ol 元素的 div 元素: $('div[ol]') 

    3.   自定义选择器
          对于各种的CSS和XPath选择器,jQuery加入了它自定义的选择器,大部分的自定义选择器能让我们在一个队列外选择一些元素。它的语法和CSS伪类语法类似(不知道Learning Jquery这本书为什么不把这种形式也归结到CSS类型选择器中),即选择器以冒号开头。例如我们想从一组匹配选择带有horziontal类的div中选择第二项,可以这样写:
$('div.horziontal:eq(1)'); //eq(1)是获得第二项

      通过上述3种jQuery选择器,我们很容易就能找到页面中的元素,而且代码也不会长。这样就很利于我们操作页面元素,也节省了时间。
            

 

  1 <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
  2 < html  xmlns ="http://www.w3.org/1999/xhtml" >
  3 < head >
  4      < title ></ title >
  5 ExpandedBlockStart.gifContractedBlock.gif     < style  type ="text/css" >
  6        html, body
  7ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
  8            margin: 0;
  9            padding: 0;
 10        }

 11        body
 12ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
 13            font-family: Arial, Verdana, sans-serif;
 14            font-size: 12px;
 15            color: #000;
 16            background: #fff;
 17        }

 18        li
 19ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
 20            padding-top: 10px;
 21            padding-left: 6px;
 22        }

 23        .horizontal
 24ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
 25            float: left;
 26            list-style: none;
 27            margin: 10px;
 28        }

 29        .sub-level
 30ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
 31            background: #ffc;
 32        }

 33        a
 34ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
 35            color: #00f;
 36        }

 37        a.mailto
 38ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
 39            color: #f00;
 40        }

 41        a.pdflink
 42ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
 43            color: #090;
 44        }

 45        a.mysite
 46ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
 47            text-decoration: none;
 48            border-bottom: 1px dotted #00f;
 49        }

 50        .table-heading
 51ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
 52            background-color: #ff0;
 53        }

 54        th
 55ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
 56            text-align: left;
 57        }

 58        .odd
 59ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
 60            background-color: #ffc;
 61        }

 62        .even
 63ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
 64            background-color: #cef;
 65        }

 66        .highlight
 67ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
 68            color: #f00;
 69            font-weight: bold;
 70        }

 71        td
 72ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
 73            color:#fff;
 74        }

 75        .table_header
 76ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
 77            background:red;
 78            color:Blue;
 79            font-size:14px;
 80        }

 81        .table_odd
 82ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
 83            background:#333;
 84        }

 85        .table_even
 86ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
 87            background:#666;
 88            
 89        }

 90        .high
 91ExpandedSubBlockStart.gifContractedSubBlock.gif        {}{
 92            color:Red;
 93            font-weight:bold;
 94        }

 95    
</ style >
 96
 97      < script  type ="text/javascript"  src ="Scripts/jQuery.1.2.6.zh-cn-vsdoc.js" ></ script >
 98
 99 ExpandedBlockStart.gifContractedBlock.gif     < script  type ="text/javascript" >
100ExpandedSubBlockStart.gifContractedSubBlock.gif        $(document).ready(function() {
101        $('#selected-plays>li').addClass('horizontal'); //这里>号是jQuery的子选择符,#selected-plays>li 的意思就是id为selected-plays的直接子代(而二代以下不会算进来)
102        $('#selected-plays li:not(.horizontal)').addClass('sub-level'); //#selected-plays li给#selected-plays底下的所有li(包括二代,三代等)添加样式,但不包括li样式为horizontal的,在这里也就是为非直接子代添加样式,因为上面已经为直接子代添加了horizontal样式
103            
104        }
);
105ExpandedSubBlockStart.gifContractedSubBlock.gif        $(document).ready(function(event) {
106            //^相当于正则表达式中的开始,$则相当于结尾
107            $('a[@href^="mailto:"]').addClass('mailto');//给a标签中包含href属性的,并且href以maito:开头的添加样式
108            $('a[@href$=".pdf"]').addClass('pdflink'); //给a标签中包含href属性的,并且href以.pdf结尾的添加样式
109            $('a[@href*="mysite"]').addClass('mysite'); //给a标签中包含href属性的,并且href中包含mysite的添加样式
110        }
);
111ExpandedSubBlockStart.gifContractedSubBlock.gif        $(document).ready(function() {
112            $('th').parent().addClass('table-heading');//包含th的tr添加样式
113            $('tr:not([th]):odd').addClass('table_odd');//冒号相当于CSS中的伪类给不包含th的tr的偶数行添加样式
114            $('tr:not([th]):even').addClass('table_even'); //给不包含th的tr的奇数行添加样式
115            $('td:contains("Henry")').siblings().addClass('high'); //给td中包含Henry字符的兄弟元素添加样式
116        }
);
117    
</ script >
118
119 </ head >
120 < body >
121      < ul  id ="selected-plays" >
122          < li > Comedies
123              < ul >
124                  < li >< href ="http://www.mysite.com/asyoulikeit/" > As You Like It </ a ></ li >
125                  < li > All's Well That Ends Well </ li >
126                  < li > A Midsummer Night's Dream </ li >
127                  < li > Twelfth Night </ li >
128              </ ul >
129          </ li >
130          < li > Tragedies
131              < ul >
132                  < li >< href ="hamlet.pdf" > Hamlet </ a ></ li >
133                  < li > Macbeth </ li >
134                  < li > Romeo and Juliet </ li >
135              </ ul >
136          </ li >
137          < li > Histories
138              < ul >
139                  < li > Henry IV ( < href ="mailto:henryiv@king.co.uk" > email </ a > )
140                      < ul >
141                          < li > Part I </ li >
142                          < li > Part II </ li >
143                      </ ul >
144                      < li >< href ="http://www.shakespeare.co.uk/henryv.htm" > Henry V </ a ></ li >
145                      < li > Richard II </ li >
146              </ ul >
147          </ li >
148      </ ul >
149      < table >
150          < tr >
151              < th >
152                 Like
153              </ th >
154              < th >
155                 Name
156              </ th >
157          </ tr >
158          < tr >
159              < td >
160                 All's Well that Ends Well
161              </ td >
162              < td >
163                 Comedy
164              </ td >
165          </ tr >
166          < tr >
167              < td >
168                 Hamlet
169              </ td >
170              < td >
171                 Tragedy
172              </ td >
173          </ tr >
174          < tr >
175              < td >
176                 Macbeth
177              </ td >
178              < td >
179                 Tragedy
180              </ td >
181          </ tr >
182          < tr >
183              < td >
184                 Romeo and Juliet
185              </ td >
186              < td >
187                 Tragedy
188              </ td >
189          </ tr >
190          < tr >
191              < td >
192                 Henry IV, Part I
193              </ td >
194              < td >
195                 History
196              </ td >
197          </ tr >
198          < tr >
199              < td >
200                 Henry V
201              </ td >
202              < td >
203                 History
204              </ td >
205          </ tr >
206      </ table >
207 </ body >
208 </ html >
209
      

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值