JQuery - проверить, если вход не является полем выбора - PullRequest
38 голосов
/ 31 января 2011

Как я могу узнать, является ли поле ввода чем-то отличным от select?

Я пробовал с if($(el).not("select")), и я тоже получаю выбор ...

Ответы [ 6 ]

89 голосов
/ 31 января 2011
if(!$(el).is("select")) {
    // the input field is not a select
}
3 голосов
/ 31 января 2011

$(el).not("select") дает вам массив.Массив всегда дает true в логических выражениях.Но после того, как вы не примените, этот массив элементов не будет содержать выборки.См. Рабочий пример .

2 голосов
/ 31 января 2011
if ($(el)[0].nodeName != 'select')
2 голосов
/ 31 января 2011

Как насчет присвоения тегам <select> класса:

$(el + ":not('.select')")
2 голосов
/ 31 января 2011

Метод .not() возвращает новый объект jQuery со всем исходным объектом, который не соответствует селектору.
Его нельзя просто использовать в таком выражении if.1005 * Вместо этого вы используете метод .is, который проверяет, соответствует ли элемент селектору и возвращает логическое значение.

if (!$(el).is('select'))
1 голос
/ 31 января 2011
if($(el).selectedIndex)

Если у него есть свойство SelectedIndex, это <SELECT>

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