jQueryselect正则expression式
我正在使用通配符或正则expression式(不确定的确切术语)与jQueryselect器的文档。
我一直在寻找这个,但一直无法find有关语法和如何使用它的信息。 有谁知道语法的文档在哪里?
编辑:属性filter允许您select基于属性值的模式。
James Padolsey创build了一个精彩的filter ,允许使用正则expression式来进行select。
假设你有以下div
:
<div class="asdf">
Padolsey的:regex
filter可以这样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")')