我从CSSTricks.com 上这篇文章的评论中获取了以下片段。
$.extend($.expr[":"], {
"containsNC": function(elem, i, match, array) {
return (elem.textContent || elem.innerText || "").toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0;
}
});
本质上,它提供了一个伪选择器:containsNC
,它的工作原理与此类似:contains
,但不区分大小写。
我希望能够检测此选择器是否可用,以便有条件地:contains
用作后备。
如何检查这种自定义选择器的存在?
或者,是否有更好的方法在较新的 jQuery 中进行不区分大小写的匹配?
作为参考,这是我目前使用的方式:contains
(过滤 Facebook 好友列表)
$('#friend-search').on('keyup', 'input', function() {
var $search = $(this).val(),
$friends = $('.friend'),
match = ':contains(' + $search + ')';
$friends.hide().filter(match).show();
});