jQueryselect正则expression式

我正在使用通配符或正则expression式(不确定的确切术语)与jQueryselect器的文档。

我一直在寻找这个,但一直无法find有关语法和如何使用它的信息。 有谁知道语法的文档在哪里?

编辑:属性filter允许您select基于属性值的模式。

James Padolsey创build了一个精彩的filter ,允许使用正则expression式来进行select。

假设你有以下div

 <div class="asdf"> 

Padolsey的:regexfilter可以这样select它:

 $("div:regex(class, .*sd.*)") 

另外,请查看select器的官方文档 。

你可以使用filter函数来应用更复杂的正则expression式匹配。 这里有一个例子可以匹配前三个div(现场演示):

 <div id="abcd"></div> <div id="abccd"></div> <div id="abcccd"></div> <div id="abd"></div> 
 $('div') .filter(function() { return this.id.match(/abc+d/); }) .html("Matched!"); 

这些可以是有帮助的。

如果你通过Containsfind,那么它会是这样的

  $("input[id*='DiscountType']").each(function (i, el) { //It'll be an array of elements }); 

如果你findStarts With,那么它会是这样的

  $("input[id^='DiscountType']").each(function (i, el) { //It'll be an array of elements }); 

如果你发现结束,那么它会是这样的

  $("input[id$='DiscountType']").each(function (i, el) { //It'll be an array of elements }); 

如果你想selectid不是给定string的元素

  $("input[id!='DiscountType']").each(function (i, el) { //It'll be an array of elements }); 

如果要selectid包含给定单词的元素,用空格分隔

  $("input[id~='DiscountType']").each(function (i, el) { //It'll be an array of elements }); 

如果要selectid等于给定string的元素, 或者以该string开头,后跟连字符

  $("input[id|='DiscountType']").each(function (i, el) { //It'll be an array of elements }); 

如果您使用正则expression式仅限于testing属性是否以某个string开头,则可以使用^ jqueryselect器

例如,如果你只想select以“abc”开头的id,你可以使用$("div[id^='abc']")

很多非常有用的避免使用正则expression式的select器可以在这里find: http : //api.jquery.com/category/selectors/attribute-selectors/

 var test = $('#id').attr('value').match(/[^a-z0-9 ]+/); 

干得好!

添加一个jQuery函数,

 (function($){ $.fn.regex = function(pattern, fn, fn_a){ var fn = fn || $.fn.text; return this.filter(function() { return pattern.test(fn.apply($(this), fn_a)); }); }; })(jQuery); 

然后,

 $('span').regex(/Sent/) 

将select文本匹配/发送/所有span元素。

 $('span').regex(/tooltip.year/, $.fn.attr, ['class']) 

将select所有与他们的类匹配/tooltip.year/ span元素。

ID和类仍然是属性,所以你可以应用一个正则expression式属性filter,如果你相应地select。 在这里阅读更多: http : //rosshawkins.net/archive/2011/10/14/jquery-wildcard-selectors-some-simple-examples.aspx

 $("input[name='option[colour]'] :checked ") 

如果你只是想select包含给定string的元素,那么你可以使用下面的select器:

$(':contains("search string")')