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>的内容是动态加载的。
[c-sharp] view plaincopy
  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>

转载于:https://www.cnblogs.com/ranzige/p/4026729.html

jquery中filter(fn)的使用研究相关推荐

  1. 元素匹配jquery中filter、find、children、contents、contains区别

    发一下牢骚和主题无关: 虽然大多数前端都用jquery,可是对jquery这几个选择器在使用上的异同,大家应当时平不会太意在,或者也是解半知一吧! 面下简略总结了下: 1.filter: .filte ...

  2. jquery中filter、find、children、contents、contains区别

    虽然大多数前端都用jquery,可是对jquery这几个选择器在使用上的异同,大家应该平时不会太在意,或者也是一知半解吧! 下面简单总结了下: 1.filter: .filter( selector ...

  3. jQuery 中 data 方法的实现原理

    jQuery 中 data 方法的实现原理 前言:jQuery 作为前端使用最多最广泛的 JS 库,其源码每个 JSer 都应该研究一下.早就打算看却一直被各种事拖着,上次某公司面试时被问到 jQue ...

  4. JQuery中的动画效果

    show() hide() slideUp slideDown fadeIn fadeOut animate : 自定义动画 JQuery中的动画效果.html <!DOCTYPE html&g ...

  5. jQuery中所用到的第三方插件

    我在jquery的学习中,用到了三个第三方的插件,为了能够更方便的查看,把在jQuery中用到的第三方插件整合一个. 首先是cookie插件 cookie插件在jquery中的js样式:cookie在 ...

  6. Jquery中find与each方法使用详解

    本文实例讲述了jQuery中find与each方法用法.分享给大家供大家参考.具体如下: 一.find()方法 jquery选择器非常强大,利用css的命名规约,可以更快更方便的找出想要的元素. 图解 ...

  7. 深入jQuery中的data()

    引入 data函数在jQuery中看起来很不起眼, 就像沙滩上一颗平凡的沙子, 但仔细一瞅, 却惊讶的发现data是jQuery中无比重要的一环, 甚至jQuery中各种事件都基于此. data有什么 ...

  8. jQuery中常用的函数方法总结

    jQuery中为我们提供了很多有用的方法和属性,自己总结的一些常用的函数,方法.个人认为在www.21kaiyun.com的紫微斗数星座在线排盘开发中会比较常用的,仅供大家学习和参考. 事件处理 re ...

  9. 45 jQuery中的常用API

    技术交流QQ群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder的程序人生 1.jQuery基础选择器 原生JS获取元素的方式很多.很杂,而且兼容性情况不一致.因此, ...

  10. jQuery 学习笔记一(认识jQuery jQuery选择器 jQuery中的DOM操作)

    第一章 认识jQuery jQuery代码风格 $(document).ready(function(){ //... }); 简化 $(function(){ //... }); jQuery对象转 ...

最新文章

  1. 【Android Gradle 插件】ProductFlavor 配置 ( ProductFlavor#manifestPlaceholders 清单文件占位符配置 )
  2. Applese 走迷宫(优先队列+bfs)
  3. python---[列表]lsit
  4. 剑指offer:12-17记录
  5. permission denied是什么鬼?
  6. 怎样利用VNC远程连接LINUX桌面
  7. pythonifelse表达式_Python if else简洁写法,列表推导式,三目运算符写法
  8. 利用WPF建立自己的3d gis软件(非axhost方式)(九)SDK自带部分面板的调用
  9. (2)css语法和使用方式
  10. navicat连接PostgreSQL报:column “rolcatupdate” does not exist ...错误的解决办法
  11. Airbnb基于Embedding技术的实时个性化推荐
  12. 两阶段提交与三阶段提交
  13. PascalVOC Dataset下载链接
  14. 第15课:RDD创建内幕彻底解密
  15. Grails4 使用Audit-Logging Stampable 出现报错:HHH000142: Bytecode enhancement failed
  16. 索尼手机更新android10,索尼XPERIA 10 II终于收到了ANDROID 11更新
  17. jeecms oracle v5_jeecms v5 spring和ehcache的整合
  18. Excel表格导入CAD后,表格内数字后的小数点怎么消除呢?
  19. bom成本分析模型_拆解苹果HomePod发现BoM成本高达248.4美元
  20. 51nod 1423 最大“二货”【单调栈】

热门文章

  1. 【高德LBS开源组件大赛】iOS版地图选中Overlay功能组件
  2. MPLS ××× Carrier Supporting Carrier Option AB(一)
  3. 迁移solaris ufs根文件系统至zfs根文件系统
  4. 在VC6.0中使用GDI+的两种办法
  5. NavisWorks Api 简单使用与Gantt
  6. datatable删除行、列
  7. JMeter java.net.SocketException:Operationnotsupported:connect解决方案
  8. Hadoop教程(一)
  9. 观察者模式之:从三国混战看创业者精神。
  10. 测试一软件测试基础知识总结