jQuery - 自定义伪类 [:pseudoclass]
有两种创建伪类的方法,
第一种,
$.extend( $.expr[':'], {
// 自定义的伪类名称:group
group: function(element, index, matches, set) {
var num = parseInt(matches[3], 10);
if(isNaN(num) {
return false;
}
return index % (num * 2) < num;
}
});
1)、element,当前的 DOM 元素。
2)、index,当前 DOM 元素在结果集中的索引
3)、matches,数组,包含用于解析这个选择符的正则表达式的解析结果。
一般来说,matches[3] 是这个数组中唯一有用的值;假如有一个选择符的形式为":groub(b)",
则 matches[3] 中的值就是 b,也就是括号中的文本。
4)、set,匹配到当前元素的整个 DOM 元素集合
第二种,
$.expr[':'].pointsHigherThan = $.expr.createPseudo(function(filterParam) {
var points = parseInt(filterParam, 10);
return function(element, context, isXml) {
return element.getAttribute('data-points') > points;
}
}
分为三个步骤:
第一步,给自定义过滤器起一个名字,比如 “pointsHigherThan”
第二步,使用 createPseudo(filterParam) 函数创建过滤器对应的匿名函数,filterParam 参数的名字可随便起,
这个参数是一个传给过滤器函数的可选参数。类似于传给过滤器 :eq(n) 的参数 n。
第三步,在过滤器函数中再返回另外一个匿名函数,在这个函数内部编写过滤逻辑代码,最后返回 boolean 值表示是否匹配?
jQuery 传递给此匿名函数三个参数,
element 参数,是一个 DOMElement 元素,一次传递一个。
context 参数,匹配元素的上下文参数
isXML 参数,确定当前操作是在 XML 文档中吗?
示例如下:$('.levels li:pointsHeighThan(20)');
[示例]:
$("tr:group(3)").addClass('alt');
jQuery - 自定义伪类 [:pseudoclass]的更多相关文章
- (五)CSS伪类(Pseudo-class)
CSS伪类用于向某些选择器添加特殊的效果.伪类的语法如下: selector : pseudo-class {property: value} CSS类也可以与伪类搭配使用: selector.cla ...
- 关于伪类“:pseudo-class”和伪元素“::pseudo-element”的常见应用
伪类用于指定要选择的元素的特殊状态,向其添加特殊的效果,比如: input { width: 515px; height: 50px; padding: 10px 20px; border: 1px ...
- sizzle分析记录: 自定义伪类选择器
可见性 :hidden :visible 隐藏对象没有宽高,前提是用display:none处理的 jQuery.expr.filters.hidden = function( elem ) { // ...
- jquery自定义类的封装
如何用jquery自定义一个类?(demo参考) /*简单使用*/ (function($){ //el操纵对象,option属性值 $.love = function(el,option){ var ...
- css伪类伪元素
在CSS中,模式(pattern)匹配规则决定哪种样式规则应用于文档树(document tree)的哪个元素.这些模式叫着选择符(selector). 一条CSS规则(rule)是选择符{属性:值; ...
- 解密jQuery内核 Sizzle引擎筛选器 - 位置伪类(一)
本章开始分析过滤器,根据API的顺序来 主要涉及的知识点 jQuery的组成 pushStack方法的作用 sizzle伪类选择器 首页我们知道jQuery对象是一个数组对象 内部结构 jQuery的 ...
- jquery 文字向上滚动+CSS伪类before和after的应用
汇总常用技巧——CSS伪类before和after的应用 先上效果图,建议遵循有图有真相的原则,可以上图的地方,还望不要嫌麻烦,毕竟有图的话 可以让读者少花些时间! <!DOCTYPE html ...
- jQuery过滤选择器:first和:first-child的区别,CSS伪类:first-child
最近项目中遇到需求:只在第一列不能删除,不显示小叉号:点击可添加一列,后面的列右上角显示小叉号,可以点击删除. 我是使用以下方法解决这个小需求 :CSS伪类选择器:first-child设置所有小叉号 ...
- css hover伪类选择器与JQuery hover()方法
css hover伪类选择器 它属于anchor伪类 在支持 CSS 的浏览器中,<a>标签链接的不同状态都可以以不同的方式显示,常常用来改链接的颜色效果 实例 a:link {color ...
随机推荐
- Cdnbes负载均衡的权重用法解释
(1)相同域名添加两条记录,解析不同的ip,可以设置权重,比如权重2,就意思占百分之20 ,数字越大,优先级越大 (2)这个hash 如果用户访问的源是挂掉的.会去第二个源
- ubuntu源码安装node7+
在官网上下载了node的tar.xz文件(node7.3.0),安装分为两步:1.解压 2.安装 解压也分成两步,首先用xz -d xxx.tar.xz解压为xxx.tar,然后用tar -xvf ...
- jquery实现淡入淡出
fade方法包括四个: (1)fadeIn(speed,callback):淡入的方法,speed代表淡入的速度,可以是slow,fast,毫秒,不填等 例如: $(document).ready(f ...
- css学习中的一些英文单词
indent 缩进 through通过 decoration装饰 position定位
- iOS 实现app文件共享
解决方式如下,在应用程序的Info.plist文件中添加UIFileSharingEnabled键,并将键值设置为YES.将您希望共享的文件放在应用程序的Documents目录.一旦设备插入到用户计算 ...
- Markdown syntax guide and writing on MWeb
Philosophy Markdown is intended to be as easy-to-read and easy-to-write as is feasible.Readability, ...
- 快捷键的记录,Word和PPT的一些常用操作
1)PPT背景设置:右键->背景->背景填充下的下拉箭头->填充效果->图片- >选择图片->确定->选择应用或应用全部 2)Word,PPT求和符号怎么打 ...
- android创建桌面快捷方式(启动目标非项目的启动页)
1.布局文件中,目标Activity加入以下filter <intent-filter> <action android:name="an ...
- WKwebView与JS交互(h5主动)
先:WKUIDelegate,WKNavigationDelegate,WKScriptMessageHandler // 创建一个webiview的配置项 WKWebViewConfiguratio ...
- VBA常用函数
字符串相关: ①截取字符串: 从字符串左侧开始:Left(string,length) 从字符串右侧开始:Right(string,length) 从字符串中间开始:mid(string,start, ...