当前位置:嗨网首页>书籍在线阅读

24-解决方案

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

1.5.2 解决方案

jQuery过滤器方法用于DOM元素的jQuery包装器集,可以排除不符合指定表达式的元素。简言之,可以用 filter() 方法过滤当前元素集,这是过滤器方法与jQuery查找方法的重要区别,查找方法通过寻找(使用新的选择器变量)新元素(包括当前包装器集的子元素)来缩小DOM元素的包装器集。

为了理解过滤器方法,我们来看看下面的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<a href="#" class="external">link</a>
<a href="#" class="external">link</a>
<a href="#"></a>
<a href="#" class="external">link</a>
<a href="#" class="external">link</a>
<a href="#"></a></li>
<a href="#">link</a>
<a href="#">link</a>
<a href="#">link</a>
<a href="#">link</a>
<script type="text/JavaScript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/JavaScript">
   //在警告框中显示集合中还有4个元素
     alert(jQuery('a').filter('.external').length + ' external links');
</script>
</body>
</html>

上述代码示例中的HTML页面包含一个有10个 <a> 元素的网页,其中的外部链接指定了类名 external 。使用jQuery函数选择页面上的所有 <a> 元素。然后,利用过滤器方法删除原始集合中所有 class 属性值不为 external 的元素。在 filter() 方法修改初始DOM元素集之后,调用 length 属性,该属性会告诉我在应用过滤器之后,新的集合中有多少个元素。