【问题标题】:How to use regex to get an element by id in javascript? [duplicate]如何使用正则表达式在javascript中通过id获取元素? [复制]
【发布时间】:2018-06-12 13:22:35
【问题描述】:

我在 symfony 1.4 的应用程序中工作。我有一些像滑动条这样的小部件来改变一些值。我尝试在 javascript 中获取值,我看到它包含在 div 中,并且 div 具有这种 id“professionnal_competence_rayon_competence3_slider_value”。但是数字发生了变化,因为我与数据库中的 id 连接。

所以我尝试获取所有包含 id 的 div,比如我的示例 unsing regex。我使用 querySelectorAll 但它似乎不起作用。但是,如果有人对我的案例有其他使用正则表达式的方法,我是开放的。

这是我尝试与正则表达式一起使用的示例:

var elements2 =  document.querySelectorAll("[id='/professionnal_competence_rayon_competence[0-9]_slider_value/']");
        console.log(elements2);

我希望它很好,但如果你不明白,我可以解释。但是我对一切都信以为真,但没有找到解决方案。所以有人知道我如何使用正则表达式来获取一组使用 id 的 div 吗? 提前致谢!!

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    你需要使用

    var elements2 = document.querySelectorAll('[id^="professionnal_competence_rayon_competence"]');
    

    这是attribute starts with selector,这意味着idprofessionnal_competence_rayon_competence 开头,您不必在此处检查数字部分。

    【讨论】:

    • 不幸的是,我已经尝试过了,但结果太多了。我真的很想得到这种类型的 id:“professionnal_competence_rayon_competence[0-9]_slider_value”。因为其他一些元素以“professionnal_competence_rayon_competence”开头,我不想要它们。
    • 抱歉发了两次帖子,但您有什么想法吗?这很重要。
    • @Arendelle 您可以通过 javascript 过滤从document.querySelectorAll 获得的元素。我想提供一个答案,但您的问题已被标记为重复:/
    • @Arendelle 我创建了一个example on jsfiddle,它将匹配的元素标记为橙色。我希望你明白:)
    • 是的,谢谢您的帮助!很抱歉创建一个副本。
    猜你喜欢
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    • 2014-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多