是否有不区分大小写的jQuery:包含选择器?

是否有不区分大小写的jQuery:包含选择器?

是否存在不区分大小写的*包含jQuery选择器或者应该通过遍历所有元素并将它们的.text()与我的字符串进行比较来手动完成这项工作?



BIG阳
浏览 581回答 3
3回答

潇潇雨雨

最后,我为jQuery1.2所做的是:jQuery.extend(     jQuery.expr[':'], {          Contains : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0" });这将扩展jQuery,使其具有一个不区分大小写的:CONSCORE选择器,而:CONSCORE选择器保持不变。编辑:对于jQuery1.3(谢谢@user 95227),您需要jQuery.expr[':'].Contains = function(a,i,m){      return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0;};编辑:显然,通过使用(a.textContent || a.innerText || "")而不是jQuery(a).text()在前面的表达式中,如果速度是一个问题,那么就冒着自己的风险吧。(见@John氏问题)最新编辑:对于jQuery1.8,应该是:jQuery.expr[":"].Contains = jQuery.expr.createPseudo(function(arg) {     return function( elem ) {         return jQuery(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;     };});

炎炎设计

从jQuery1.3开始,就不再推荐这种方法了。要使其正常工作,需要将其定义为一个函数:jQuery.expr[':'].Contains = function(a,i,m){     return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0;};
打开App,查看更多内容
随时随地看视频慕课网APP