【问题标题】:How can I select an element by ID with Prototype using regex?如何使用正则表达式通过带有原型的 ID 选择元素?
【发布时间】:2014-09-30 20:04:55
【问题描述】:

我的问题与question. 非常相似,它问:

我有以下输入元素:

<input id="AAA_RandomString_BBB" type="text" />
<input id="AAA_RandomString_BBB_Start" type="text" />
<input id="AAA_RandomString_BBB_End" type="text" />

AAA 和 BBB 是常数,我将永远知道它们是什么。然而 RandomString 永远是随机的。

我想获取 AAA_RandomString_BBB 的值。我不想要 ID 以 _Start 或结尾的输入元素中的值 _结束。

现在 JQuery 的答案如下:

您可以在一个多属性选择器中组合这两个选择器。

​$("[id^=AAA_][id$=_BBB]")

那么有没有办法做到以上,但使用 Prototype v1.7.2?

【问题讨论】:

    标签: regex prototypejs


    【解决方案1】:

    同样的事情在 Prototype 中也有效,当然是使用 Prototype 的语法:

    $$("[id^=AAA_][id$=_BBB]")
    

    【讨论】:

    • 请注意,$$() CSS 选择器将返回一个您可以操作的元素数组,而不是一个 jQuery 集合
    • 是的,这确实有效,并且完全符合我的要求。最后一个问题是我能找到关于这个的任何文件吗? api.prototypejs.org/dom/dollar-dollar 没有提到使用上述语法。
    • 当然。问题是这些不应该是特定于库/框架的,而是 CSS 选择器规范的一部分。库可以检测浏览器,例如,不支持某些选择器并通过其他方式提供行为,但我没有任何示例,您可能只会在旧浏览器(IE6)中遇到问题.查看来自 Mozilla 的一些关于属性选择器的文档,这些文档也可以在普通的 CSS 中使用。 developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors
    • 我相信 Prototype 和 jQuery 都使用 Sizzle 库,所以我们应该将其作为参考。
    猜你喜欢
    • 2012-11-12
    • 1970-01-01
    • 1970-01-01
    • 2015-01-11
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-25
    相关资源
    最近更新 更多