通过顺序来选择
顺序选择的过滤器(filter)有
:first第一个元素:last最后一个元素:even序号为偶数的元素:odd序号为奇数的元素:eq(n)序号等于n的元素:lt(n)序号小于n的元素:gt(n)序号大于n的元素
如果有如下的表格
0
even
1
odd
2
even
3
odd
4
even
html代码如下
0 | even |
1 | odd |
2 | even |
3 | odd |
4 | even |
如果需要修改所有序号为偶数的tr的式样,用jQuery则可以非常简单的实现
$("tr:even").addClass('even')
even是在css中定义的式样
table tr.even {
background: #CCC;
}
添加even式样后,表格如下所示
0
even
1
odd
2
even
3
odd
4
even
jQuery也提供了filter函数
$('ul li').filter(':first');
选取正在执行动画的元素
过滤器是:animated
用法如下
$('div:animated'); // #1
$('div:not(div:animated').animate({height:100}); // #2
也可以使用动画过滤器来判断元素是否正在执行动画
var myElem = $('#elem');
if (myElem.is(':animated')) {
// do something
}
根据包含的内容来选择元素
过滤器:has(), contains()
用法如下
如果要选取包含特定文字的元素,可以使用contains
HTML
Hello Bob!
JS
$(‘span:contains("Bob")); # contains参数区分大小写,可以不需冒号
通过has来使用selector
$(‘div:has(p a)‘);
逆向选择
过滤器 not
not的参数也是一个selector
$(‘div:not(#content))
当然也可以使用复杂的selector
$(‘a:not(div.important a, a.nav)‘);
jQuery也提供了not方法
var anchors = $(‘a‘);
anchors.click(function() {
anchors.not(this).addClass(‘not-clicked‘);
});
通过是否可见来选择元素
选择器 hidden, visible
用法如下所示
if ($(‘#elem‘).is(‘:hidden‘)) {
// Do something conditionally
}
$(‘p:visible‘).hide();
基于属性来选择元素
过滤器
[attr]是否具有此属性[attr=val]attr属性是否等于val[attr!=val]attr属性不等于val[attr^=val]attr属性以val开头[attr$=val]attr属性以val结尾[attr~=val]attr属性包含val[attr]是否具有此属性
用法
$(‘a[href="http://google.com"]‘);
连续使用多个属性过滤器
$(‘*[title][href]‘)
根据元素类型来选择
过滤器
jQuery selector syntax
Selects what?
:text
:password
:radio
:checkbox
:submit
:image
:reset
:button
:file
:hidden
原文:http://blog.csdn.net/feelang/article/details/26613023