【问题标题】:How to write a RegExp which will get the text of an attribute?如何编写一个将获取属性文本的正则表达式?
【发布时间】:2016-03-10 08:39:55
【问题描述】:

我的每个列表元素都有属性,例如:data-content="1 000 PLN"

我想编写一个匹配 data-content 的 RegExp 查询,不管用户写的是 1 000 还是 100025 000 000 还是 25000000

我想在 JavaScript 上使用它。

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    无需使用正则表达式,只需使用document.querySelectorAll

    document.querySelectorAll("[data-content]");
    

    这将为您提供具有 data-content 属性的元素列表。

    然后就可以迭代元素得到属性值了

    Array.prototype.forEach.call(document.querySelectorAll("[data-content]"), function( divChild ){
      console.log(divChild.getAttribute("data-content"));
    });
    

    【讨论】:

    • 非常感谢,但这并不是我想要的。我有一个input,用户可以在其中使用白色文本。而且我只想过滤data-content与查询匹配的列表元素,但不管用户是否用空格写数字。
    • @SzymonPajka 您可以将此 HTML 附加到正文中的隐藏元素并在其上运行查询选择器,最后删除此隐藏元素
    • 哦..我不确定。例如:我有 3 个带有 data-content 值的列表元素:1 000 PLN10 000 PLN100 000 PLN,如果用户写:100 我想匹配所有,但如果他是白色的1 ,那么我想匹配只有1 000 PLN。当我使用match 时,我的意思是我想隐藏其余部分。
    • @SzymonPajka 您可以将所有这些过滤器放在返回的元素列表中。
    • 好的,我有一个解决方案。就像比较字符串一样,大多数人都使用小写字母来执行此操作。在这里使用相同的模式。只是比较这个总是没有空格:)感谢所有回复:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    相关资源
    最近更新 更多