原型1.7 - 属性选择器坏了吗?

时间:2011-02-08 00:42:13

标签: css prototypejs css-selectors upgrade sizzle

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

我基本上是这样做的:

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

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

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

我使用了错误的语法吗?知道我如何解决这个问题,而不是降级到1.6?

1 个答案:

答案 0 :(得分:1)

好的,通过在属性值周围添加单引号进行实验,我发现了这一点,但根据CSS选择器规范,这似乎是错误的,对吧? 特别是因为它返回选择,但不是输入....

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

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