javascript - $.expr [':' ] 在 javascript 中是什么意思

标签 javascript jquery

<分区>

我在看 bootstrap-select plugin源代码,我看到了这一行:

$.expr[':'].icontains = function(obj, index, meta) {
    return $(obj).text().toUpperCase().indexOf(meta[3].toUpperCase()) >= 0;
};

我很好奇 $.expr[':'] 在这里是什么意思?

最佳答案

这是 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

的元素

FIDDLE

关于javascript - $.expr [':' ] 在 javascript 中是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24999909/

相关文章:

javascript - 使用 Zclipboard.js 复制到剪贴板不起作用

javascript - 返回一个可用作函数的 Javascript 对象

javascript - 从 JQuery 中动态创建的数据获取点击事件

javascript - 如何禁用页面加载?

javascript - 为什么 "onicecandidate"不起作用?

javascript - 如何将javascript排入wordpress子主题

jquery - 为什么 $(this).children() 不为我工作?

javascript - Bootstrap Popover 不适用于 Rails

jquery - 使输入字段在 bootstrap 3 中内联

jquery - 通过 jQuery 在一次 Ajax 调用中发送 ArrayBuffer 和其他字符串