반응형
Regex Selector for jQuery
:regex
jQuery.expr[':'].regex = function(elem, index, match) { var matchParams = match[3].split(','), validLabels = /^(data|css):/, attr = { method: matchParams[0].match(validLabels) ? matchParams[0].split(':')[0] : 'attr', property: matchParams.shift().replace(validLabels,'') }, regexFlags = 'ig', regex = new RegExp(matchParams.join('').replace(/^\s+|\s+$/g,''), regexFlags); return regex.test(jQuery(elem)[attr.method](attr.property)); }
Usage
It’s pretty simple to use, you need to pass an attribute and a regular expression to match against. The regular expression must be in non-literal notation; so replace all backslashes with two backslashes (e.g. ^\w+$
-> ^\\w+$
).
// Select all elements with an ID starting a vowel: $(':regex(id,^[aeiou])'); // Select all DIVs with classes that contain numbers: $('div:regex(class,[0-9])'); // Select all SCRIPT tags with a SRC containing jQuery: $('script:regex(src,jQuery)'); // Yes, I know the last example could be achieved with // CSS3 attribute selectors; it's just an example...
Note: All searches are case insensitive; you can change this by removing the ‘i’ flag in the plugin.
This plugin also allows you to query CSS styles with regular expressions, for example:
// Select all elements with a width between 100 and 300: $(':regex(css:width, ^[1-3]\\d{2}px$)'); // Select all NON block-level DIVs: $('div:not(:regex(css:display, ^block$))');
Additionally it allows you to query data strings added to elements via jQuery’s ‘data’ method:
// Add data property to all images (just an example); $('img').each(function(){ $(this).data('extension', $(this)[0].src.match(/\.(.{1,4})$/)[1]); }); // Select all images with PNG or JPG extensions: $('img:regex(data:extension, png|jpg)');
출처 : http://james.padolsey.com/javascript/regex-selector-for-jquery/
다른 방법
$("a").filter(function(){ return $(this).text().match(/something/); })
반응형
'Story > Jquery' 카테고리의 다른 글
Jquery 를 이용하여 HTML5 placeholder 를 적용시키기 (0) | 2013.03.18 |
---|---|
이미지 확대 효과 (돋보기 효과) JQZoom (0) | 2013.03.13 |
Basic JQuery Selector (0) | 2012.12.31 |
구글 지도 사용 google map 언어 ( 중국어 zh_CN ) (0) | 2012.12.27 |
Simplemodal Popup 에서 팝업 부분만 print 하는 방법 (0) | 2012.10.10 |