您的位置:首页 > Web前端 > JQuery

jquery选择器 selector 学习笔记

2010-06-19 21:45 721 查看

基本选择器

这里提供了一份基本选择器的参考实例。这些选择器都支持CSS3语法准标和语议。

$(‘div’)

选取所有<div>元素。

$(‘fieldset a’)

选择在<fieldset>元素内出现的所有<a>元素。

$(‘li>p’)

选取在<li>标记中直接出现的所有<p>元素。

$(‘div~p’)

选取位为<div>标记之后出现的所有<p>元素。(这个其实是在一个完整的<div></div>之后紧挨着的<p>)

$(‘p:has(b)’)

选取<p>元素内包含有<b>的所有元素。

$(‘div.someClass’)
选取<div>元素中出现class="someClass"属性的所有元素。

$(‘.someClass’)

选取出现class="someClass"属性的所有元素。

$(‘#testButton’)
选取id="testButton"的元素。元素id属性值在当前DOM中是唯一的。因此我很好奇出现了两个id="testButton"的元素时它会
怎么选。实验证明它只会选取第一个元素。真正的开发过程中,我们绝对不要在一个DOM中出现多个id相同的元素。

$(‘img[alt]’)

选取具有alt属性的所有<img>元素。

$(‘a[href$=.pdf]’)
选取具有href属性,而且属性的值以.pdf结尾的所有<a>元素。

$(‘button[id*=test]’)
选取所有的按钮,但按钮的id属性要包含"test"。

提示一下:在同一个$()结构中可以用“,
”来连接多个不同的选择器,比如这样:


$('div,p')


以下是匹配所有具有title属性的<div>元素,和所有具有alt
属性的<img>元素:


$('div[title],img[alt]')


位置选择器

这种类型的选择器可以附加到任何基本选择器上,用于进行基于元素位置的筛选。如果缺省基本选择器,则
将被视为所有元素。

举一些例子吧。

$('p:first')

选取页面中第一个出现的<p>元素。

$('img[src$=.png]:first')
选取页面中第一个出现src属性值以.png结尾的<img>元素。

$('button.small:last')
选取页面中最后一个出现class="small"的按钮元素。

$('li:first-child')
选取页面中所有<li>列表的第一项元素。

$('a:only-child')

选取页面中所有<a>元素,但这些元素只能位于一个父级元素内。比如<li><a href="url">An
url</a></li>,此时<li>内的<a>是匹配的。

$(‘li:nth-child(2)’)
选取父级元素中第二个<li>元素。<li>也一家要位于一个父级元素内。比如<ul>

<li>1</li>

<li>2</li>

</ul>

此时<li>2</li>是匹配的。

$('tr:nth-child(odd)')
选取表格中所有为奇数的行元素。

$(‘li:nth-child(3n)’)
在父级元素中有很多个<li>元素,但只选取隔3次出现的<li>元素。比如

<ul>

<li>1</li>

<li>2</li>

<li>3</li>

<li>4</li>

<li>5</li>

<li>6</li>

<li>7</li>

<li>8</li>

</ul>

其中<li>3</li>,<li>6</li>
匹配。

$('li:nth-child(3n+5)')
带有偏移量的选取。在父级元素中只选取从第5个<li>元素开始每隔3次出现的<li>元素。比如

<ul>

<li>1</li>

<li>2</li>

<li>3</li>

<li>4</li>

<li>5</li>

<li>6</li>

<li>7</li>

<li>8</li>

</ul>

其中<li>5</li>,<li>8</li>
匹配。

$(‘.someClass:eq(1)’
) 选取页面中class="someClass"的第二个元素

jQuery
以0为基准,因此(1)表示相当于第2个。

$(‘.someClass:gt(1)’)
选取页面中所有class="someClass"的元素,除了开头两个。

$(‘.someClass:lt(4)’)
只选取页面中所有class="someClass"元素中最先的4个元素。

自定义选择器

jQuery提供这类的选择器用于在并不期望有CSS明确规定时,对元素进行方便快捷地选取。自定义
选择器有可能会被组合起来,来看一看这些强大的选择器实例。

$('img:animated')
选取所有刚刚经历完动画方法调用的<img>元素。

$(':button:hidden') 选取所有被hide()方法隐含的按钮类型元素。

$('input[name=myRadioGroup]:radio:checked')
选取name="myRadioGroup"的单选框内被选中的项目。

$(':text:disabled') 选取所有被禁用的文本框元素。

$('#xyz :header') 选取id="xyz"元素内的所有<h>元素。

$('option:not(:selected)')
选取没有被选中的所有的<option>元素。

$('#myForm button:not(.someClass)')
选取id="myForm"的表单内不具有class="someClass"属性的所有按钮。

$('select[name=choices] :selected')
选取name="choices"的<select>元素中所有被选中的<option>项。

$('p:contains(coffee)')
选取所有内容包含有coffee的<p>元素。

这里有一个比较好的jquery selector lab: http://www.codylindley.com/jqueryselectors/

其中的demo可以下载。 demo
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: