【问题标题】:Jquery attribute - How to make the verification not case sensitive? [duplicate]Jquery 属性 - 如何使验证不区分大小写? [复制]
【发布时间】:2012-03-24 03:52:17
【问题描述】:

可能重复:
CSS selector case insensitive for attributes

下面的代码检查给定类的属性是否以用户在给定输入中输入的值开头

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

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

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

【问题讨论】:

  • 好的,Manse,我需要时间来测试一下。目前在我看来是中国人……

标签: jquery attributes


【解决方案1】:

试试这个:

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

【讨论】:

  • 如果 DOM 元素上的类全部大写怎么办!我想你想念这个问题
  • 你好 DotMat。感谢您的帮助。您的解决方案的问题在于它只在一个方向上起作用。问题是,用户可以在输入中输入以大写或小写开头的字符串。所以我需要一些东西在两个方向上工作......但无论如何感谢分享这个 toLowerCase 事情。我不知道。
  • 将值设为小写并不妨碍选择器区分大小写...如果属性的值为“teSt”且inputValue的值为“Test”,则该值的inputValue.toLowerCase() 将是“测试”,它们仍然不匹配。
  • 你好安东尼。正确的。你知道解决这个问题的方法吗?
  • 抱歉误会,我的回答刚刚完成。
【解决方案2】:

使用 RegExp 比较属性的值。见代码:http://jsfiddle.net/djBsy/2/

【讨论】:

  • 你好。你的例子很有趣。我学到了东西。然而,它不工作。如果您输入例如 selectorCaseInsensitive('.myClass', 'id', 'hsduqshudihqduisu');结果是一样的......
  • 感谢您的提示。 if 条件不正确。我更新了它,它现在可以工作了:)
  • 你的例子让我明白了这一切是如何工作的(正则表达式......)。因此,通过稍微修改它来调整您的示例,我设法得到了我想要的。所以再次感谢:)
猜你喜欢
  • 2012-07-29
  • 2013-01-27
  • 1970-01-01
  • 1970-01-01
  • 2013-07-07
  • 2013-10-28
  • 1970-01-01
  • 2021-04-12
  • 1970-01-01
相关资源
最近更新 更多