【问题标题】:How to get elements in java script with case insensitiveness?如何在不区分大小写的情况下获取javascript中的元素?
【发布时间】:2014-07-28 07:20:56
【问题描述】:

我有一个问题。我想使用它的 ID 在 java 脚本中获取元素。我可以使用 getElementById。但问题是,ID 可能区分大小写。即

假设我的 ID = "Test"

然后我想获取 ID 为“Test”、“test”、“tEsT”、“TeSt”和所有其他大小写组合的元素。可以肯定的是,上述所有元素中只有一个具有 ID 的元素。

您能帮我如何获取这样的元素,以便我可以不区分大小写地获取元素吗?

提前致谢。

【问题讨论】:

  • id 必须是唯一的
  • 问题可能在于以这种方式您可能会获得多个元素。那该怎么办呢?
  • 不会有任何具有相同 ID 的元素。所以没有唯一性问题。那么有没有办法做到这一点?
  • @Praveen:从问题来看,“可以肯定的是,在上述所有元素中,只有一个具有 ID 的元素。”即使有许多元素都有自己独特的案例组合,它们仍然会被认为是独一无二的。

标签: javascript getelementbyid case-insensitive uppercase


【解决方案1】:

您可以选择所有带有 ID 的元素,然后使用 Regex 不区分大小写地测试它们:

var result = [].filter.call(document.querySelectorAll('[id]'), function(node) {
    return node.id.match(/test/gi);
});
console.log(result);

也许您可以比通用的[id] 选择器缩小您的元素范围?

jsFiddle

【讨论】:

    【解决方案2】:

    这个REGEX SELECTOR FILTER 是我用来执行类似操作的。

    HTH, 卡罗

    【讨论】:

    • 我正在寻找纯 java 脚本的解决方案。
    【解决方案3】:

    嗯,我用 jQuery 找到的唯一方法是这里 Case insensitive jQuery attribute selector 使用过滤功能

    【讨论】:

    • 我正在寻找纯 java 脚本的解决方案。
    • 好吧,唯一的方法是选择所有元素并检查它们的 id ......检查所有元素是非常有害的。
    猜你喜欢
    • 2010-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 2019-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多