2012-03-06 37 views
1

可能重复:
CSS selector case insensitive for attributesJquery属性 - 如何使验证不区分大小写?

的这里下面代码检查是否一个给定的类的属性,开始与用户已经在一个给定的输入的输入值

var inputVariable = $('#myInput').val(); 

$('.class[attribute ^= '+inputValue+']')...... 

我的问题是属性“验证”是区分大小写的。我正在寻找一个解决方案,使其不区分大小写。有人可以提供帮助。预先感谢您的回复。干杯。马克

+0

好的曼塞斯,我需要时间去测试一下。目前看起来我是中国人...... – Marc 2012-03-06 16:38:29

回答

1

使用正则表达式来比较属性的值。见代码:http://jsfiddle.net/djBsy/2/

+0

你好。你的例子非常有趣。我学到了东西。尽管如此,它不起作用。如果你键入例如selectorCaseInsensitive('。myClass','id','hsduqshudihqduisu');结果是一样的.... – Marc 2012-03-07 12:23:37

+0

感谢您的提示。 if条件不正确。我更新了它,现在它的工作:) – user1242756 2012-03-07 12:43:52

+0

你的例子让我明白这是如何工作(正则表达式...)。所以通过修改你的例子来适应我的想法。所以再次感谢:) – Marc 2012-03-07 12:59:30

2

试试这个:

var re = new RegExp("^"+inputValue, "i"); 
    $('.class').filter(function() { 
     return (re).test($(this).attr('attribute')); 
    }); 
+0

以及如果DOM元素上的类全部大写!我想你的小姐在阅读 – ManseUK 2012-03-06 16:22:35

+0

Hello DotMat问题。感谢您的帮助。解决方案的问题在于它只能在一个方向上工作。事情是,用户可以输入一个以大写或小写字母开头的字符串。所以我需要一些在两个方向上工作的东西......但无论如何感谢您将它分享给LowCase的东西。我不知道。 – Marc 2012-03-06 16:23:10

+0

使值小写不妨碍选择器区分大小写...如果属性的值是“teSt”,并且“inputValue”的值是“Test”,则inputValue.toLowerCase() '将会是“测试”,他们仍然不会匹配。 – 2012-03-06 16:23:27