1. 程式人生 > >jQuery 自定義選擇器 於大等於和小於等於

jQuery 自定義選擇器 於大等於和小於等於

jQuery.expr[":"].le = function(elem,i,match){
	return elem.rowIndex < match[3] - 0 || elem.rowIndex == match[3] - 0;
};
jQuery.expr[":"].ge = function(elem,i,match){
	return elem.rowIndex > match[3] - 0 || elem.rowIndex == match[3] - 0;
};
//書上說第二個引數i表示當前BOM元素物件在所有匹配元素中的索引位置,從0開始。但我測試時一直得到的都是0.所以改成elem.rowIndex
//第三個引數表示正則表示式執行匹配後的返回的陣列物件
match:{
	POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/
}
/**
 其中()是捕獲組
捕獲組是把多個字元當一個單獨單元進行處理的方法,它通過對括號內的字元分組來建立。
例如,正則表示式 (dog) 建立了單一分組,組裡包含"d","o",和"g"。
捕獲組是通過從左至右計算其開括號來編號。例如,在表示式((A)(B(C))),有四個這樣的組:
((A)(B(C)))
(A)
(B(C))
(C)
可以通過呼叫 matcher 物件的 groupCount 方法來查看錶達式有多少個分組。groupCount 方法返回一個 int 值,表示matcher物件當前有多個捕獲組。
還有一個特殊的組(group(0)),它總是代表整個表示式。該組不包括在 groupCount 的返回值中。

(?:pattern)
匹配 pattern 但不捕獲該匹配的子表示式,即它是一個非捕獲匹配,不儲存供以後使用的匹配。這對於用"or"字元 (|) 組合模式部件的情況很有用。
例如,'industr(?:y|ies) 是比 'industry|industries' 更經濟的表示式。

(?=pattern)
執行正向預測先行搜尋的子表示式,該表示式匹配處於匹配 pattern 的字串的起始點的字串。
它是一個非捕獲匹配,即不能捕獲供以後使用的匹配。例如,'Windows (?=95|98|NT|2000)' 匹配"Windows 2000"中的"Windows",
但不匹配"Windows 3.1"中的"Windows"。預測先行不佔用字元,即發生匹配後,下一匹配的搜尋緊隨上一匹配之後,而不是在組成預測先行的字元後。

var str = "#bomRowBodyLeft tr:lt(3)";
var patt1 = /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/;
document.write(str.match(patt1));

執行結果::lt(3),lt,3

*/


$(function(){
$("#bomRowBodyLeft tr:le(3)").css("color","red");
$("#bomRowBodyLeft tr:ge(3)").css("color","blue");
});

另一種寫法:

jQuery.extend(jQuery.expr[":"],{ 
	le : function(elem,i,match){
		return elem.rowIndex < match[3] - 0 || elem.rowIndex == match[3] - 0;
	}
});
jQuery.extend(jQuery.expr[":"],{ 
	ge : function(elem,i,match){
	return elem.rowIndex > match[3] - 0 || elem.rowIndex == match[3] - 0;
	}
});

執行效果:


相關推薦

jQuery 定義選擇 等於小於等於

jQuery.expr[":"].le = function(elem,i,match){ return elem.rowIndex < match[3] - 0 || elem.rowIndex == match[3] - 0; }; jQuery.expr[":"

JS定義選擇

選擇器部分: var jojo = (function () { var jojo = function (arr) { var _this = this, i = 0; // Create array-like object

android:TimePicker仿照IOS時間選擇,可定義選擇

背景: 專案要求寫一個選擇器:不僅僅是單純的時間,還包括自定義部分. 搜了很久,搜出來只用一個自定義view.java類,再簡單封裝下的選擇器: 貼下原始碼: public class PickerView extends Vie

Android 開發 pickerview 定義選擇

超好用的類:在專案直接寫入,可以自定義選擇器, package com.bestgo.callshow.custom_control; import android.content.Context; import android.content.res.TypedArra

android 時間戳與日期格式的互相轉換 以及 定義選擇

1、TimeUtils.java package com.example.classwork; import java.text.ParseException; import java.text.SimpleDateFormat; import java

Android多媒體圖片音訊視訊可限制大小時間定義選擇

專案中許多時候需要選擇圖片、音視訊,並有大小和時間限制,沒有找到合適的庫,所以自己提供一個滿足需求的基礎版本。 一.可以選擇圖片、

jQuery初識之選擇、樣式操作篩選(模態框選單示例)

一、jQuery 1、介紹 jQuery是一個快速、簡潔的JavaScript框架,是繼Prototype之後又一個優秀的JavaScript程式碼庫(或JavaScript框架)。 jQuery設計的宗旨是“write Less,Do More”,即倡導寫更少的程式碼,做更多的事情。 它封裝J

定義View中的轉盤拖動的小球

public class ZPView2 extends View implements View.OnClickListener { //文字內容 private String[] contents=new String[]{“美 食”, “購 物”, “商 場”, “豐 滿”, “性 感

jquery定義對話方塊alert、confirmprompt

jQuery Alert Dialogs,又一個基於jQuery的提示框外掛,主要包括Alert、Confirm、prompt這三種,還有一個高階範例,可以在提示框內嵌入HTML語言,可以自定義風格樣式。jQuery的提示框外掛有很多種,每一款都是出自不同的高人之手,因此都比較有自己的特點,包括風格和使用方法

flume定義攔截(Interceptor)拼接headerbody資訊

一、需求背景       最近專案有這樣一個需求,分別採集不同應用不同機器上的日誌,在做日誌清洗後存入DB,資料庫表字段需要存當前日誌的來源,比如,來自於哪個專案,該專案的哪臺機器,由於我們使用的是flume來做日誌採集,故去翻flume的官網,發現有攔截器可以支援我的需求,

Mybatis中的大於等於小於等於

tar ret myba date time handle font create ont mybatis中可以直接使用>或<;但是不能直接使用>=或<=;第一種寫法(1): 原符號 < <= >

jQuery定義陣列操作類(類似List集合的增刪改查)

js外部檔案,前提需要引入jquery類庫。 封裝類程式碼如下: (function ($) {     $.List = function () {         va

jquery mobiscroll 滑動、滾動及實現定義選擇

mobiscroll : 滑動選擇 2.13.2版本免費,官網(mobiscroll.com)收費 另外官方還有線上例子: .net 可以在程式包管理控制檯輸入安裝:Install-Package Mobiscroll 下載完成後,保留mobiscroll

Java程序猿的JavaScript學習筆記(12——jQuery-擴展選擇

type write number article mat 我們 content ace val 計劃按例如以下順序完畢這篇筆記: Java程序猿的JavaScript學習筆記(1——理念) Java程序猿的JavaScript學習筆記(2——屬性復制和繼承) Jav

在struts2中配置定義攔截放行多個方法

return med ttr limit ring req tac cat invoke 源碼: 自定義的攔截器類: //自定義攔截器類:LoginInterceptor ; package com.java.action.interceptor; import j

jQuery定義動畫

script star cli color ext2 htm wid div body <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> &l

jquery 定義事件

cti 是否 問題 觸發 jquery mousedown func 類型 自定義 眾所周知類似於mousedown、click、keydown等等這類型的事件都是瀏覽器提供的,通俗叫原生事件,這類型的事件是需要有交互行為才能被觸發。 $(‘#elem‘).on(‘clic

jQuery--定義動畫animate()

class 效果 border lac 回調 回調函數 隱藏 定義 pro 語法結構 animate(params,speed,callback) params:包含一個樣式屬性及值的映射。比如{property1:‘value1‘,property:‘value2‘,..

一個樣例看清楚JQuery子元素選擇children()find()的差別

csdn 連接 網絡 type 文章 java main on() track 近期在我們的hybrid app項目開發中定位出了一個問題。通過這個問題了解下JQuery選擇器find()和children()的差別。問題是這種:我們的混合app是一個單頁面應用(mai

jQuery基礎,選擇

-1 first name div 操作 偶數 prototype 框架 優化 jQuery是一個快速、簡潔的JavaScript框架,是繼Prototype之後又一個優秀的JavaScript代碼庫(或JavaScript框架)。jQuery設計的宗旨是“writ