mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-08 23:14:06 +08:00
171 lines
20 KiB
HTML
171 lines
20 KiB
HTML
<article class="" id="post-">
|
||
<header class="entry-header">
|
||
<h1 class="entry-title">:eq() Selector</h1>
|
||
<div class="entry-meta">
|
||
所属分类:<span class="category"><a href="/category/selectors/">选择器</a> > <a href="/category/selectors/basic-filter-selectors/">基础过滤</a></span><span class="category-divider"> | </span><span class="category"><a href="/category/selectors/">选择器</a> > <a href="/category/selectors/jquery-selector-extensions/">jQuery 扩展</a></span>
|
||
<span class="pull-right">英文文档:<a href="https://api.jquery123.com/eq-selector/" target="_blank">:eq() Selector</a></span>
|
||
</div><!-- .entry-meta -->
|
||
</header><!-- .entry-header -->
|
||
<!-- .entry-header -->
|
||
<div class="entry-content">
|
||
<article class="entry selector" id="eq1"><h2 class="section-title"><span>eq selector</span></h2>
|
||
<div class="entry-wrapper">
|
||
<p class="desc"><strong>描述: </strong>在匹配的集合中选择索引值为<code>index</code>的元素。</p>
|
||
<ul class="signatures">
|
||
<li class="signature">
|
||
<h4 class="name">
|
||
<span class="version-details">添加的版本: <a href="/category/version/1.0/">1.0</a></span>jQuery( ":eq(index)" )</h4>
|
||
<p class="argument"><strong>index: </strong>要匹配元素的索引值(从0开始计数)</p>
|
||
</li>
|
||
<li class="signature">
|
||
<h4 class="name">
|
||
<span class="version-details">添加的版本: <a href="/category/version/1.8/">1.8</a></span>jQuery( ":eq(-index)" )</h4>
|
||
<p class="argument"><strong>-index: </strong>要匹配元素的索引值(从0开始计数), 从最后一个元素开始倒计数 </p>
|
||
</li>
|
||
</ul>
|
||
<div class="longdesc" id="entry-longdesc">
|
||
<p>这种索引值相关的选择器(<code>:eq()</code>, <code>:lt()</code>, <code>:gt()</code>, <code>:even</code>, <code>:odd</code>)过滤他们前面的匹配表达式的集合元素。进一步筛选的依据就是这个元素在原先匹配集合中的顺序。例如,如果第一个选择器使用类选择器( <code>.myclass</code> )进行匹配,四个元素返回,这些元素是给定索引是<code>0</code>到<code>3</code>。</p>
|
||
<p>请注意,由于JavaScript数组使用<em>基于0的索引</em> ,这些选择器也是如此。这就是为什么<code>$('.myclass:eq(1)')</code>选择器选择文档中第二个MyClass类的元素,而不是第一个。与此相反,<code>:nth-child(n)</code>是<em>基于1的索引</em>的,以符合CSS规范。</p>
|
||
<p>在jQuery 1.8之前,<code>:eq(index)</code><em>不</em>接受负值所引值(虽然<a href="/eq"><code>.eq(index)</code></a>方法接受)。</p>
|
||
</div>
|
||
<h3>其他注意事项:</h3>
|
||
<div class="longdesc"><ul>
|
||
<li>
|
||
因为 <code>:eq()</code> 是一个 jQuery 延伸出来的选择器,并不是的CSS规范的一部分, 使用<code>:eq()</code>查询不能充分利用原生DOM提供的<code>querySelectorAll()</code> 方法来提高性能。为了在现代浏览器上获得更佳的性能,请使用<code>$("your-pure-css-selector").eq(index)</code>代替。
|
||
</li></ul></div>
|
||
<section class="entry-examples" id="entry-examples"><header><h2 class="underline">例子:</h2></header><div class="entry-example" id="example-0">
|
||
<h4>Example: <span class="desc">查找第三个 td。</span>
|
||
</h4>
|
||
<div class="syntaxhighlighter xml ">
|
||
<table>
|
||
<tbody>
|
||
<tr>
|
||
<td class="gutter">
|
||
<div class="line n1">1</div>
|
||
<div class="line n2">2</div>
|
||
<div class="line n3">3</div>
|
||
<div class="line n4">4</div>
|
||
<div class="line n5">5</div>
|
||
<div class="line n6">6</div>
|
||
<div class="line n7">7</div>
|
||
<div class="line n8">8</div>
|
||
<div class="line n9">9</div>
|
||
<div class="line n10">10</div>
|
||
<div class="line n11">11</div>
|
||
<div class="line n12">12</div>
|
||
<div class="line n13">13</div>
|
||
<div class="line n14">14</div>
|
||
<div class="line n15">15</div>
|
||
</td>
|
||
<td class="code">
|
||
<pre><div class="container"><div class="line"><code><span class="doctype"><!DOCTYPE html></span></code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">html</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">head</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">script</span> <span class="attribute">src</span>=<span class="value">"https://code.jquery.com/jquery-latest.js"</span>></span><span class="javascript"></span><span class="tag"></<span class="title">script</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">head</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">body</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">table</span> <span class="attribute">border</span>=<span class="value">"1"</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">tr</span>></span><span class="tag"><<span class="title">td</span>></span>TD #0<span class="tag"></<span class="title">td</span>></span><span class="tag"><<span class="title">td</span>></span>TD #1<span class="tag"></<span class="title">td</span>></span><span class="tag"><<span class="title">td</span>></span>TD #2<span class="tag"></<span class="title">td</span>></span><span class="tag"></<span class="title">tr</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">tr</span>></span><span class="tag"><<span class="title">td</span>></span>TD #3<span class="tag"></<span class="title">td</span>></span><span class="tag"><<span class="title">td</span>></span>TD #4<span class="tag"></<span class="title">td</span>></span><span class="tag"><<span class="title">td</span>></span>TD #5<span class="tag"></<span class="title">td</span>></span><span class="tag"></<span class="title">tr</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">tr</span>></span><span class="tag"><<span class="title">td</span>></span>TD #6<span class="tag"></<span class="title">td</span>></span><span class="tag"><<span class="title">td</span>></span>TD #7<span class="tag"></<span class="title">td</span>></span><span class="tag"><<span class="title">td</span>></span>TD #8<span class="tag"></<span class="title">td</span>></span><span class="tag"></<span class="title">tr</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">table</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">script</span>></span><span class="javascript">$(<span class="string">"td:eq(2)"</span>).css(<span class="string">"color"</span>, <span class="string">"red"</span>);</span><span class="tag"></<span class="title">script</span>></span></code></div></div><div class="container"><div class="line"><code> </code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">body</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">html</span>></span></code></div></div></pre>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<h4>Demo:</h4>
|
||
<div class="demo code-demo"></div>
|
||
</div>
|
||
<div class="entry-example" id="example-1">
|
||
<h4>Example: <span class="desc">在列表项目中应用三种不同的样式,以此来展示 :eq() 只会选择一个元素,而 :nth-child() 或 :eq() 会像 .each() 一样,有类似循环的构造,从而选择多个元素。</span>
|
||
</h4>
|
||
<div class="syntaxhighlighter xml ">
|
||
<table>
|
||
<tbody>
|
||
<tr>
|
||
<td class="gutter">
|
||
<div class="line n1">1</div>
|
||
<div class="line n2">2</div>
|
||
<div class="line n3">3</div>
|
||
<div class="line n4">4</div>
|
||
<div class="line n5">5</div>
|
||
<div class="line n6">6</div>
|
||
<div class="line n7">7</div>
|
||
<div class="line n8">8</div>
|
||
<div class="line n9">9</div>
|
||
<div class="line n10">10</div>
|
||
<div class="line n11">11</div>
|
||
<div class="line n12">12</div>
|
||
<div class="line n13">13</div>
|
||
<div class="line n14">14</div>
|
||
<div class="line n15">15</div>
|
||
<div class="line n16">16</div>
|
||
<div class="line n17">17</div>
|
||
<div class="line n18">18</div>
|
||
<div class="line n19">19</div>
|
||
<div class="line n20">20</div>
|
||
<div class="line n21">21</div>
|
||
<div class="line n22">22</div>
|
||
<div class="line n23">23</div>
|
||
<div class="line n24">24</div>
|
||
<div class="line n25">25</div>
|
||
<div class="line n26">26</div>
|
||
<div class="line n27">27</div>
|
||
<div class="line n28">28</div>
|
||
<div class="line n29">29</div>
|
||
<div class="line n30">30</div>
|
||
<div class="line n31">31</div>
|
||
<div class="line n32">32</div>
|
||
<div class="line n33">33</div>
|
||
</td>
|
||
<td class="code">
|
||
<pre><div class="container"><div class="line"><code><span class="doctype"><!DOCTYPE html></span></code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">html</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">head</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">script</span> <span class="attribute">src</span>=<span class="value">"https://code.jquery.com/jquery-latest.js"</span>></span><span class="javascript"></span><span class="tag"></<span class="title">script</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">head</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">body</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">ul</span> <span class="attribute">class</span>=<span class="value">"nav"</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">li</span>></span>List 1, item 1<span class="tag"></<span class="title">li</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">li</span>></span>List 1, item 2<span class="tag"></<span class="title">li</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">li</span>></span>List 1, item 3<span class="tag"></<span class="title">li</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">ul</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">ul</span> <span class="attribute">class</span>=<span class="value">"nav"</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">li</span>></span>List 2, item 1<span class="tag"></<span class="title">li</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">li</span>></span>List 2, item 2<span class="tag"></<span class="title">li</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">li</span>></span>List 2, item 3<span class="tag"></<span class="title">li</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">ul</span>></span></code></div></div><div class="container"><div class="line"><code> </code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">script</span>></span><span class="javascript"></span></code></div></div><div class="container"><div class="line"><code><span class="comment">/* applies yellow background color to a single <li> */</span></code></div></div><div class="container"><div class="line"><code>$(<span class="string">"ul.nav li:eq(1)"</span>).css( <span class="string">"backgroundColor"</span>, <span class="string">"#ff0"</span> );</code></div></div><div class="container"><div class="line"><code> </code></div></div><div class="container"><div class="line"><code><span class="comment">/* applies italics to text of the second <li> within each <ul class="nav"> */</span></code></div></div><div class="container"><div class="line"><code>$(<span class="string">"ul.nav"</span>).each(<span class="keyword">function</span>(index) {</code></div></div><div class="container"><div class="line"><code> $(<span class="keyword">this</span>).find(<span class="string">"li:eq(1)"</span>).css( <span class="string">"fontStyle"</span>, <span class="string">"italic"</span> );</code></div></div><div class="container"><div class="line"><code>});</code></div></div><div class="container"><div class="line"><code> </code></div></div><div class="container"><div class="line"><code><span class="comment">/* applies red text color to descendants of <ul class="nav"> */</span></code></div></div><div class="container"><div class="line"><code><span class="comment">/* for each <li> that is the second child of its parent */</span></code></div></div><div class="container"><div class="line"><code>$(<span class="string">"ul.nav li:nth-child(2)"</span>).css( <span class="string">"color"</span>, <span class="string">"red"</span> );</code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">script</span>></span></code></div></div><div class="container"><div class="line"><code> </code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">body</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">html</span>></span></code></div></div></pre>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<h4>Demo:</h4>
|
||
<div class="demo code-demo" data-height="160"></div>
|
||
</div>
|
||
<div class="entry-example" id="example-2">
|
||
<h4>Example: <span class="desc">Add a class to List 2, item 2 by targeting the second to last <li> </span>
|
||
</h4>
|
||
<div class="syntaxhighlighter xml ">
|
||
<table>
|
||
<tbody>
|
||
<tr>
|
||
<td class="gutter">
|
||
<div class="line n1">1</div>
|
||
<div class="line n2">2</div>
|
||
<div class="line n3">3</div>
|
||
<div class="line n4">4</div>
|
||
<div class="line n5">5</div>
|
||
<div class="line n6">6</div>
|
||
<div class="line n7">7</div>
|
||
<div class="line n8">8</div>
|
||
<div class="line n9">9</div>
|
||
<div class="line n10">10</div>
|
||
<div class="line n11">11</div>
|
||
<div class="line n12">12</div>
|
||
<div class="line n13">13</div>
|
||
<div class="line n14">14</div>
|
||
<div class="line n15">15</div>
|
||
<div class="line n16">16</div>
|
||
<div class="line n17">17</div>
|
||
<div class="line n18">18</div>
|
||
<div class="line n19">19</div>
|
||
<div class="line n20">20</div>
|
||
<div class="line n21">21</div>
|
||
<div class="line n22">22</div>
|
||
<div class="line n23">23</div>
|
||
<div class="line n24">24</div>
|
||
<div class="line n25">25</div>
|
||
<div class="line n26">26</div>
|
||
<div class="line n27">27</div>
|
||
<div class="line n28">28</div>
|
||
<div class="line n29">29</div>
|
||
</td>
|
||
<td class="code">
|
||
<pre><div class="container"><div class="line"><code><span class="doctype"><!DOCTYPE html></span></code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">html</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">head</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">style</span>></span><span class="css"></span></code></div></div><div class="container"><div class="line"><code><span class="class">.foo</span> <span class="rules">{</span></code></div></div><div class="container"><div class="line"><code> <span class="rule"><span class="attribute">color</span>:<span class="value"> blue;</span></span></code></div></div><div class="container"><div class="line"><code> <span class="rule"><span class="attribute">background-color</span>:<span class="value"> yellow;</span></span></code></div></div><div class="container"><div class="line"><code><span class="rule">}</span></code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">style</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">script</span> <span class="attribute">src</span>=<span class="value">"https://code.jquery.com/jquery-latest.js"</span>></span><span class="javascript"></span><span class="tag"></<span class="title">script</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">head</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">body</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">ul</span> <span class="attribute">class</span>=<span class="value">"nav"</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">li</span>></span>List 1, item 1<span class="tag"></<span class="title">li</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">li</span>></span>List 1, item 2<span class="tag"></<span class="title">li</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">li</span>></span>List 1, item 3<span class="tag"></<span class="title">li</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">ul</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">ul</span> <span class="attribute">class</span>=<span class="value">"nav"</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">li</span>></span>List 2, item 1<span class="tag"></<span class="title">li</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">li</span>></span>List 2, item 2<span class="tag"></<span class="title">li</span>></span></code></div></div><div class="container"><div class="line"><code> <span class="tag"><<span class="title">li</span>></span>List 2, item 3<span class="tag"></<span class="title">li</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">ul</span>></span></code></div></div><div class="container"><div class="line"><code> </code></div></div><div class="container"><div class="line"><code><span class="tag"><<span class="title">script</span>></span><span class="javascript"></span></code></div></div><div class="container"><div class="line"><code>$( <span class="string">"li:eq(-2)"</span> ).addClass( <span class="string">"foo"</span> )</code></div></div><div class="container"><div class="line"><code> <span class="tag"></<span class="title">script</span>></span></code></div></div><div class="container"><div class="line"><code> </code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">body</span>></span></code></div></div><div class="container"><div class="line"><code><span class="tag"></<span class="title">html</span>></span></code></div></div></pre>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<h4>Demo:</h4>
|
||
<div class="demo code-demo"></div>
|
||
</div></section>
|
||
</div></article> </div>
|
||
</article> |