jQuery 的 :contains()
选择器用于选择包含指定文本的元素。默认情况下,这个选择器是区分大小写的。
可能有以下几种原因:
:contains()
的实现不一致如果你希望确保 :contains()
区分大小写,可以使用 filter 方法:
$("div").filter(function() {
return $(this).text().indexOf("YourText") !== -1;
});
如果你确实需要不区分大小写的 contains,可以这样实现:
$.expr[":"].containsNoCase = function(el, i, m) {
var search = m[3];
return $(el).text().toLowerCase().indexOf(search.toLowerCase()) >= 0;
};
// 使用方式
$("div:containsNoCase('yourtext')");
$("div").filter(function() {
return /yourtext/i.test($(this).text());
});
如果你能提供更多关于你遇到问题的具体代码和环境信息,我可以给出更精确的建议。
没有搜到相关的文章