如何使jQuery包含不區(qū)分大小寫的內(nèi)容,包括jQuery 1.8+?我試圖不敏感地使用“包含”一詞。我嘗試在下面的堆棧溢出問(wèn)題上使用該解決方案,但沒(méi)有成功:是否有不區(qū)分大小寫的jQuery:包含選擇器?為了方便起見(jiàn),在這里復(fù)制解決方案:jQuery.extend(
jQuery.expr[':'], {
Contains : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0" });以下是錯(cuò)誤:Error: q is not a functionSource File: /js/jquery-1.4.js?ver=1.4Line: 81這里是我使用它的地方: $('input.preset').keyup(function() {
$(this).next().find("li").removeClass("bold");
var theMatch = $(this).val();
if (theMatch.length > 1){
theMatch = "li:Contains('" + theMatch + "')";
$(this).next().find(theMatch).addClass("bold");
}
});在相同的場(chǎng)景中,我使用了區(qū)分大小寫的“Content”,沒(méi)有任何錯(cuò)誤。有人有什么想法嗎?我會(huì)很感激的。
3 回答

藍(lán)山帝景
TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊
這是我在當(dāng)前項(xiàng)目中使用的,沒(méi)有任何問(wèn)題??纯茨谶@種格式上是否有更好的運(yùn)氣:
jQuery.expr[':'].Contains?=?function(a,?i,?m)?{? ??return?jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())?>=?0;?};
在jQuery 1.8中,用于此操作的API更改后,jQuery 1.8+版本如下:
jQuery.expr[":"].Contains?=?jQuery.expr.createPseudo(function(arg)?{ ????return?function(?elem?)?{ ????????return?jQuery(elem).text().toUpperCase().indexOf(arg.toUpperCase())?>=?0; ????};});

至尊寶的傳說(shuō)
TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊
:Contains
:contains
jQuery.expr[':'].Contains = function(a, i, m) { return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0; };jQuery.expr[':'].contains = function(a, i, m) { return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0; };

幕布斯7119047
TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
我會(huì)做這樣的事
?????$.expr[':'].containsIgnoreCase?=?function?(n,?i,?m)?{ ????????return?jQuery(n).text().toUpperCase().indexOf(m[3].toUpperCase())?>=?0; ????};
然后離開(kāi):contains
獨(dú)自一人.。
演示
那么為什么jQuery在它的庫(kù)中不支持它呢?!如果有那么簡(jiǎn)單的話.。
因?yàn)槟愕拇a傳遞火雞密碼了嗎?
- 3 回答
- 0 關(guān)注
- 527 瀏覽
添加回答
舉報(bào)
0/150
提交
取消