我有一个使用以下CSS选择器(Prototype 1.6.1)的验证类:
$$('*[class*=validate]')
我的想法是,对于以'validate'开头的元素,我有各种类名,即'validate-numeric'或'validate-url'。所以,我想在类属性中使用单词validate来获取任何元素。
它适用于任何其他浏览器,包括IE 6& 7.在IE 8中,它似乎没有选择适当的元素。我尝试在IE的开发人员工具中进行一些调试,但是控制台,尽管如此,只为数组和对象输出{...}。有什么我想念的吗?是的,它是一个CSS3选择器,但我认为它仍然在Prototype和6& 7都使用它。
答案 0 :(得分:0)
如果你还没弄明白,这里有另一种选择。将所有元素分类为:
<div class="validate numeric">foo</div>
<div class="validate url">bar</div>
<div class="validate email">world</div>
然后这肯定会在IE8中运行:
$$('.validate');
我猜你正在为表单验证编写一些代码,这些都是可能发生的错误。我的架构的CSS将是
.validate { color: red }
.numeric { margin: 1px }
.url { margin: 2px; }
.email { padding: 3px; }
虽然您的CSS架构不是模块化的 - 因此随着您添加越来越多的错误类型而难以维护。
.validate_numeric,
.validate_url,
.validate_email {
color: red;
}
.validate_numeric { margin: 1px }
.validate_url { margin: 2px; }
.validate_email { padding: 3px; }