Проблема выбора прототипа IE 8 - PullRequest
0 голосов
/ 03 ноября 2010

У меня есть класс проверки, который использует следующий селектор CSS (Prototype 1.6.1):

$$('*[class*=validate]')

Идея в том, что у меня есть различные имена классов для элементов, которые начинаются с 'validate', то есть 'validate-numeric' или 'validate-url'. Итак, я бы хотел получить любой элемент со словом validate в атрибуте class.

Он работает практически в любом другом браузере, включая IE 6 и 7. В IE 8 кажется, что он не выбирает нужные элементы. Я попытался выполнить некоторую отладку в инструментах разработчика IE, но консоль, несмотря на всю ее мудрость, выводит только {...} для массивов и объектов. Есть ли что-то, что мне не хватает? Да, это селектор CSS3, но я думал, что он все еще реализован в Prototype, и 6 и 7 оба работали с ним.

1 Ответ

0 голосов
/ 06 января 2011

Если вы еще не разобрались, вот альтернатива.Классифицируйте все ваши элементы так:

<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; }
...