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>

最新文章

  1. GO语言下载、安装、配置
  2. Java程序员的日常——SpringMVC+Mybatis开发流程、推荐系统
  3. CoreBluetooth——IOS蓝牙4.0使用心得
  4. 2010-2014总结 ____V_V____ hello-world
  5. Java unserialize serialized Object(AnnotationInvocationHandler、ysoserial) In readObject() LeadTo InvokerTransformer(Evil MethodName/Args)
  6. iOS静态库小结--(yoowei)
  7. Spark分析笔记
  8. 63. Swap Nodes in Pairs &amp;&amp; Rotate List &amp;&amp; Remove Nth Node From End of List
  9. mysql学习(二)
  10. SAP Basis常用事务代码
  11. C#中static静态变量的用法
  12. mysql简单操作一
  13. Hibernate(六)一对一双向关联映射
  14. STL之auto_ptr
  15. 用Jstack跟踪Cpu占用率的Java线程(转)
  16. Pythonic
  17. [2017/5/28]FJ四校联考
  18. Qt与FFmpeg联合开发指南(三)——编码(1):代码流程演示
  19. [转]系统架构演变--集中式架构-垂直拆分-分布式服务-SOA(服务治理)-微服务
  20. 利用python scapy包进行抓包发包与ARP扫描

热门文章

  1. ROT13 加密与解密
  2. 转 SSM框架整合to萌新
  3. vdp配置
  4. 用Python开始机器学习(3:数据拟合与广义线性回归)
  5. python 并集union, 交集intersection, 差集difference, 对称差集symmetric_difference
  6. ArrayList,Vector,LinkedList
  7. 递归与分治策略之棋盘覆盖Java实现
  8. 转MySQL常见错误分析与解决方法总结
  9. 【洛谷】2324:[SCOI2005]骑士精神【IDA*】
  10. python开发_tkinter_多级子菜单