1

我最近从 Prototype 1.6.1 升级到 1.7,我注意到我网站的一部分 JS 坏了。

我基本上是这样做的:

$$("*[required=1]").each(function (el) {
  // stuff
});

这是选择一堆表单元素。在 1.6.1 中,这非常有效。自从我升级到 1.7 后,这不仅会返回<select>表单中的元素,而且不会返回<input>...

我知道 Prototype 在 1.7 中从他们的旧选择器引擎更改为 Sizzle,所以我假设它与此有关,但我很惊讶这个基本的东西会破坏......

我使用了错误的语法吗?知道如何在不降级到 1.6 的情况下解决这个问题吗?

4

1 回答 1

1

好的,我通过在属性值周围添加单引号来尝试一下,但根据 CSS 选择器规范,这似乎是错误的,对吧?
特别是因为它返回的是选择,而不是输入......

$$("*[required='1']").each(function (el) {
  // stuff
});

只是发布这个以防有人偶然发现同样的事情。

于 2011-02-08T00:48:19.060 回答