jquery中filter(fn)给出的官方说明是:

筛选出与指定函数返回值匹配的元素集合
这个函数内部将对每个对象计算一次 (正如 '$.each'). 如果调用的函数返回false则这个元素被删除,否则就会保留。
 
这个说明没有问题,可是给出的例子却有问题。例子是

HTML 代码:

<p><ol><li>Hello</li></ol></p><p>How are you?</p>

jQuery 代码:

$("p").filter(function(index) {   return $("ol", this).length == 0; });

结果:

[ <p>How are you?</p> ]
 
可是大家在试的时候会发现,<p>中是不让放<ol>的,在一些浏览器会报错。
 
我在自己的一个程序中,用到了filter(fn)这个方法。我就把我使用的例子放出来。
 
我要做的功能其实很简单,就是要把一个页面中所有的<div>内容显示出来。这里面有些<div>的内容是动态加载的。
 
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JqeryClick.aspx.cs" Inherits="AJAXEnabledWebApplication1.JqeryClick" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" >
  4. <head runat="server">
  5. <title>无标题页</title>
  6. <mce:script src="jquery-1.3.2.min.js" mce_src="jquery-1.3.2.min.js" type="text/javascript"></mce:script>
  7. <mce:script type="text/javascript"><!--
  8. $(function(){
  9. $("#btn").click(function(){
  10. //在ViewDiv中显示二种下拉列表当前被选中的内容。显示出来的是value值。
  11. $("#ViewDiv").html($("#ddlSel").val() + "-----" + $("#Select1").val());
  12. //这里有一点我要说明的事,我使用的.aspx文件,这种文件会在<form>内自己生成自己的几个<div>,它不是我要取的
  13. //所以在这里我加了一个大的div来取我们所要的。
  14. //这里用filter(fn)来过滤掉里面包含ol的项
  15. $("#all").children("div").filter(function(index) {
  16. return $("ol", this).size() == 0;
  17. }).each(function(index){
  18. //这里显示出这些div的内容。请注意,在这里我们用
  19. //$("div",this).html()这种方法
  20. alert($("#"+this.id+"").html());
  21. });
  22. })
  23. })
  24. // --></mce:script>
  25. </head>
  26. <body>
  27. <form id="form1" runat="server">
  28. <div id="all">
  29. <div id="one">
  30. <asp:DropDownList ID="ddlSel" runat="server">
  31. <asp:ListItem Value="1">第一项</asp:ListItem>
  32. <asp:ListItem Value="2">第二项</asp:ListItem>
  33. </asp:DropDownList>
  34. <select id="Select1">
  35. <option value="3">第三项</option>
  36. <option value="4">第四项</option>
  37. </select>
  38. <input id="btn" type="button" value="显示信息" /></div>
  39. <div id="ViewDiv"></div>
  40. <div id="2"><ol><li>Hello</li></ol></div><div id="1">How are you?</div>
  41. </div>
  42. </form>
  43. </body>
  44. </html>

jquery中filter(fn)的使用研究的更多相关文章

  1. Jquery中$与$.fn的差别

    当今web开发往往离不开Jquery的使用,Jquery以其简洁的使用方式.良好的浏览器兼容性赢得了软件研发同行的青睐,作为当中的一员,自然也不例外,虽然刚開始时非常排斥Jquery,今天我谈一下对J ...

  2. jquery中onclick="fn"中$(this)所代表的对象

    jquery中onclick="fn"中$(this)所代表的对象 js方法 function qiehuan(){ var src = $(this).attr("da ...

  3. jquery中的$.fn的用法

    JQuery里的原型prototype分析       http://www.nowamagic.net/librarys/veda/detail/653 jquery中的$.fn的用法       ...

  4. Jquery中$与$.fn的区别

    Jquery中$与$.fn的区别 当今web开发往往离不开Jquery的使用,Jquery以其简洁的使用方式.良好的浏览器兼容性赢得了软件研发同行的青睐,作为其中的一员,自然也不例外,尽管刚开始时很排 ...

  5. jquery中filter的用法

    一.filter的参数类型可分为两种 1.传递选择器 $('a').filter('.external') 2.传递过滤函数 $('a').filter(function(index) {       ...

  6. 【jQuery】【转】jQuery中filter()和find()的区别

    Precondition: 现在有一个页面,里面HTML代码为: <div class="css"> <p class="rain">测 ...

  7. jQuery中filter(),not(),split()的用法

    filter(),not(): <script type="text/javascript"> $(document).ready(function() { //输出 ...

  8. jquery中的 $.fn $.fx

    $.fn是指 jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效. 如扩展$.fn.abc() 那么你可以这样子:$("#div").abc(); 常使 ...

  9. jquery中filter()和find()函数区别

    通常把这两个函数,filter()函数和find()函数称为筛选器. 下面的例子分别使用filter函数和find函数对一组列表进行筛选操作. 一组列表: <li>1</li> ...

随机推荐

  1. 洛谷——P1747 好奇怪的游戏

    P1747 好奇怪的游戏 题目背景 <爱与愁的故事第三弹·shopping>娱乐章. 调调口味来道水题. 题目描述 爱与愁大神坐在公交车上无聊,于是玩起了手机.一款奇怪的游戏进入了爱与愁大 ...

  2. <泛> 归并排序 及 逆序对

    今天写一个归并排序的模板,返回值为该序列的逆序对数 基本思路 归并排序就是利用二分的思想,将区间无限递归二分,直到当前划分区间只包含一个元素或没有元素的时候(我们认为这个序列是自动有序的),我们回溯到 ...

  3. Eclipse插件安装出现Duplicate location错误

    一.原因 1.曾今安装过此插件 2.曾今安装此插件的时候出现错误 二.解决方法[eclipse] - Help - Install new software - Available Software ...

  4. ELK收集openstack日志

    1.安装jdk 每个openstack服务器需要安装jdk,我安装的版本jdk-7u71-linux-x64.rpm 2.安装.配置Elastic Search install https://dow ...

  5. Openstack-开发基础 stevedore学习

    在给openstack-N版加路由的时候发现怎么都无法搞定,原来现在用这个模块来处理了 stevedore是用来实现动态加载代码的开源模块.它是在OpenStack中用来加载插件的公共模块.可以独立于 ...

  6. BZOJ 1061: [Noi2008]志愿者招募 [单纯形法]【学习笔记看另一篇吧】

    1061: [Noi2008]志愿者招募 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 3975  Solved: 2421[Submit][Stat ...

  7. BZOJ 4003: [JLOI2015]城池攻占 左偏树 可并堆

    https://www.lydsy.com/JudgeOnline/problem.php?id=4003 感觉就是……普通的堆啊(暴论),因为这个堆是通过递归往右堆里加一个新堆或者新节点的,所以要始 ...

  8. [OpenGL]纹理贴图实现 总结

    实现步骤 第一步:设置所需要的OpenGL环境 设置上下文环境 删除已经存在的渲染的缓存 设置颜色缓存 设置帧缓存 清除缓存 设置窗口大小 开启功能 编译shander 使用program 获取sha ...

  9. SlickSafe.NET 开源权限框架开发指南

    前言:本文适用于快速搭建权限系统的用户,尤其适用于希望有良好定义的权限模型建立:系统解决方案是在基于角色访问控制(RBAC)策略基础上的权限访问模型实现,主要完成了后台权限验证逻辑和前端权限数据验证的 ...

  10. Redis中文API地址

    地址:http://redis.readthedocs.org/en/2.4/string.html