我正在查看bootstrap-select plugin源代码,我看到了这一行:
$.expr[':'].icontains = function(obj, index, meta) {
return $(obj).text().toUpperCase().indexOf(meta[3].toUpperCase()) >= 0;
};
我很好奇$.expr[':']
在这里的含义是什么?
答案 0 :(得分:3)
这是jQuery创建自定义表达式的方式
$.expr[':'].icontains = function(obj, index, meta) {
return $(obj).text().toUpperCase().indexOf(meta[3].toUpperCase()) >= 0;
};
可以用作
$('.elements:icontains(text)')
这是:contains
换句话说,您可以使用$.expr[':']
创建所需的任何伪选择器,让我们尝试另一个
$.expr[':'].christmas = function(obj, index, meta) {
return $(obj).text().toLowerCase().indexOf('christmas') !== -1
}
$('.elements:christmas').addClass('xmas');
这只会选择包含christmas