jQuery学习笔记——筛选元素集合
filter(expression) 方法
利用传入的选择器表达式或筛选函数,从集合中筛选元素。
expression为选择器表达式
e.g. 对所有标签<a>中title包含文本special的元素应用special类样式。
$('a').filter('[title*=special]').html("special Link").addClass("special");
expression为筛选函数
filter()方法,当传给它一个函数,它会为每个包装集元素反复调用这个函数,如果函数调用返回false,就删除当前元素。利用筛选函数体的函数上下文this,每次调用都能存取当前包装集元素。
e.g. 创建包含数字值的所有<td>元素的包装集。
$('td').filter(function() { console.log(this.innerHTML.match(/^\d+$/)) ; })
jQuery遍历——slice(begin, end)方法
把匹配元素集合缩减为指定的指数范围的子集。
参数说明:
begin:基于零的整数值,指示开始选取元素的位置。如果是负数,则只是从集合末端开始的偏移量。
end: 基于零的整数值,指示结束选取元素的位置(此位截止,往前偏一位),如果省略,则选取范围会在集合末端结束。如果是负数,同上。
e.g.
<ul> <li><a href="http://jquery.com/ui" id="a1" class="link"><b>link1</b></a></li> <li><a href="http://jquery.com/doc"" id="a2" class="link">link2</a></li> <li><a href="http://jquery.com/demo" id="a3" class="link">link3</a></li> <li><a href="#" id="a4" class="link" title="special">link4</a></li> <li><a href="#" id="a5" class="link"title="special">link5</a></li> <li><a href="#" id="a6" class="link"title="special">link6</a></li> </ul>
1、选取从第3个<li>元素开始到第四个的集合。
$("body ul li").slice(2,4)
2、选取从第三个<li>元素开始到最后的集合。
$("body ul li").slice(2)