jQuery:不区分大小写:包含

jQuery:Case insensitive :contains

本文关键字:包含 大小写 不区 jQuery      更新时间:2023-09-26

如何更改以下功能,以实现不区分大小写搜索所有div元素(div[id*=music]),其中包含一个链接search_text;

function search(el){
    var search_text = $(el).val();
    //if(!search_text) return false;
    var search_block = $('div.music_box');
    search_block.children('div[id*=music]:hidden').show();
    search_block.children('div[id*=music]').filter(':not(:has(a:contains('+search_text+')))').hide();
    console.log(search_block.children('div[id*=music]'));
}
jQuery v1.10.2

试试这个:

jQuery.expr[':'].Contains = function(a,i,m){
    return (a.textContent || a.innerText || "").toUpperCase().indexOf(m[3].toUpperCase())>=0;
};

然后你可以这样使用:$("element:Contains")