Comment savoir si un champ de saisie est autre chose qu'un select
?
J'ai essayé avec if($(el).not("select"))
et j'obtiens aussi les sélections ...
if(!$(el).is("select")) {
// the input field is not a select
}
$(el).not("select")
vous donne un tableau. Le tableau donne toujours true dans les expressions booléennes. Mais une fois que vous ne l'avez pas appliqué, ce tableau d'éléments ne contiendra pas de sélections. Voir travail exemple .
La méthode .not()
renvoie un nouvel objet jQuery avec tout de l'objet d'origine qui ne correspond pas au sélecteur.
Vous ne pouvez pas simplement l'utiliser dans une instruction if
comme celle-ci.
À la place, vous utilisez le .is
, qui vérifie si l'élément correspond à un sélecteur et renvoie un booléen.
if (!$(el).is('select'))
Qu'en est-il de donner le <select>
marque une classe:
$(el + ":not('.select')")
if ($(el)[0].nodeName != 'select')
if($(el).selectedIndex)
S'il a une propriété SelectedIndex, c'est un <SELECT>