关于jquery $.expr[':']

原创 2018年04月16日 18:37:07
学习JQuery时 遇到一组代码
jQuery.expr[':'].data = function(a, i, m){
...
};  

对这个$.expr[':'] 实在没搞懂是啥,四处搜寻了一下,找到一些相关解释:

If you need a reusable filter to target specific elements based on their characteristics, you can extend jQuery’s selector expressions under the jQuery.expr[':'] object; this is an alias for Sizzle.selectors.filters. Each new filter expression is defined as a property of this object。意思为:如果你需要一个可重用的过滤器来根据它们的特性来定位特定的元素,你可以在jQuery.expr [':']对象下扩展jQuery的选择器表达式;这是Sizzle.selectors.filters的别名。每个新的过滤器表达式都被定义为这个对象的属性。

实际上说白了就是自定义伪类选择器 类似于

jQuery.expr[':'].between = function(a, i, m){
 var tmp=m[3].split(".");
return tmp[0]-0<i&&i<tmp[1]-0;
};  

定义了一个between选择器。

另外,想要同时添加多个新选择器,最好使用jQuery的extend()方法

jQuery.extend(jQuery.expr[':'], {

       data1 : function(){

        

        },

      data2 : function(){

        

        },
  data3 : function(){

        

        },

}); 

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Q846169253/article/details/79964201

jquery中 $.expr使用小例子

new document jquery中 $.expr使用小例子 $(function() { ...
  • wobendiankun
  • wobendiankun
  • 2014-06-07 23:15:45
  • 1662

jquery $.expr[':'] 用法体会

今天在看$.widget 源码时发现有这样一行代码:   $.expr[ ":" ][ fullName ] = function( elem ) { return !!$.data( e...
  • wobendiankun
  • wobendiankun
  • 2014-06-03 23:38:15
  • 2067

利用jQuery.expr创建一个自己的伪类选择器

前段时间看到一段jQuery代码,代码里面用到了jQuery.expr这个对象。完全陌生又木有。翻了下jQuery的官方文档,没找到关于这个对象的解释,不过搜寻了一番过后终于在jQuery的选择器引擎...
  • qq_36263601
  • qq_36263601
  • 2017-07-03 14:18:23
  • 274

jQuery.expr[':'].Contains自定义伪类选择器

不区分大小写过滤筛选jQuery.expr[':'].Contains = function(a,i,m){ return (a.textContent || a.innerText || "...
  • qq_36263601
  • qq_36263601
  • 2017-07-03 14:31:06
  • 640

shell中的 expr命令的一些小用法

shell
  • lazyGril_81
  • lazyGril_81
  • 2017-12-04 20:26:18
  • 94

Java程序员的JavaScript学习笔记(12——jQuery-扩展选择器)

这是笔记的第12篇,本篇我们尝试扩展jQuery选择器,同时这也是一个jQuery源码解读的过程。...
  • stationxp
  • stationxp
  • 2014-10-27 05:50:37
  • 1682

加法运算

main(){ int i,n,sum=0; printf("input n :"); scanf("%d",&n); i=1; do { sum = su...
  • XG_38241417128
  • XG_38241417128
  • 2017-10-31 00:41:32
  • 51

jQuery源码分析之实例find和filter方法的区别七问

首先我们要介绍一个winnow函数,它用于filter函数                 function winnow( elements, qualifier, not ) { //如果qual...
  • liangklfang
  • liangklfang
  • 2015-10-07 09:52:11
  • 1101

python中的str与expr的一个区别例子

我也说不清楚到底python中的str()与repr()到底有什么区别,下面的例子也许从某些方面能够说明: >>> hi = "Hello\nWorld" >>> str(hi) 'Hello\nW...
  • WhoisPo
  • WhoisPo
  • 2014-12-27 09:51:28
  • 2239

一个简单的shell脚本程序(运用expr命令)

通过对shell脚本命令的初步学习,在Ubuntu下实现了3个数的加减乘除运算。程序如下:   #!/bin/bash //  bin/bash来执行文件程序,一般Ubuntu默认shell脚本在此...
  • BBB813136083
  • BBB813136083
  • 2014-12-12 21:28:21
  • 2564
收藏助手
不良信息举报
您举报文章:关于jquery $.expr[':']
举报原因:
原因补充:

(最多只允许输入30个字)