Проблема с селектором not () в IE8 - PullRequest
2 голосов
/ 23 августа 2011

У меня проблемы со следующей строкой кода jQuery

 var controls = selectedForm.find('input:not(type="hidden"), checkbox, select, textarea');

Я пытаюсь выделить все элементы selectedForm, которые не являются <input type='hidden'....>.selectedForm - это предыдущий селектор, который выбирает интересующий объект формы.Всего в этой форме 5 полей, одно из которых является скрытым полем ввода.

Моя проблема в том, что в IE8 переменная «control» содержит все 5 полей внутри формы.В FF6 это работает правильно и возвращает 4 поля, которые меня интересуют.

Я предполагаю, что у меня есть синтаксическая ошибка, но я не вижу, что это такое.

Ответы [ 2 ]

4 голосов
/ 23 августа 2011

Обратите внимание, что вы пытаетесь использовать атрибут , равный селектору для атрибута "тип", который должен быть заключен в квадратные скобки:

var controls = selectedForm.find('input:not([type="hidden"]), checkbox, select, textarea');
1 голос
/ 23 августа 2011

Джон Хартсок правильно определил проблему там (должен использовать [type="hidden"]), однако вы также можете написать этот запрос без использования селектора :not:

selectedForm.find('input[type!="hidden"], checkbox, etc');

http://api.jquery.com/attribute-not-equal-selector/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...