我正在为项目创建关键字搜索。所以为了确保它不区分大小写,我在进行比较之前将搜索值和内容设置为小写。这就是我所在的地方:
self.contentSelected = jQuery('.policies_container .lof-element .lof-inner a').html();
jQuery('.policies_container .lof-element .lof-inner a :contains("' + self.term + '")').each(function() {
jQuery(this).html(jQuery(this).html().replace(new RegExp(self.term, 'g'), '<span class="highlight">' + self.term + '</span>'));
jQuery(this)
.find('.highlight')
.fadeIn(self.fadeSpeed);
jQuery(".highlight").each(function() {
if(jQuery(this).parent().is(":hidden")) {
jQuery(this).closest(".lof-element").slideDown();
jQuery(this).closest(".lof-toggler").addClass("active_acc");
self.targetOffset = jQuery(".highlight:first-child").offset().top;
jQuery('html, body').animate({scrollTop: self.targetOffset}, self.scrollSpeed);
}
});
});
所以这里的第二行
jQuery('.policies_container .lof-element .lof-inner a :contains("' + self.term + '")').each(function() {
我正在寻找将.lof-inner内容设置为小写所需的语法,同时仍然应用:contains selector。
任何帮助,谢谢!
答案 0 :(得分:6)
使用CSS属性:
text-transform:lowercase;
或使用javascript函数:
variable.toLowerCase();
在第二种方法(javascript)中,您需要将源表和搜索表达式转换为小写,然后再将其传递给contains()
方法。
答案 1 :(得分:1)
:contains()
区分大小写。
您可以使用正则表达式和filter()
来帮助...
elements.filter(function() {
return $(this).text().match(/\bword\b/i);
});