JQuery - Несколько селекторов в a: not()?
Кажется, я не могу работать:
$('input:not([type=radio][type=checkbox])').live('click', function() {
alert("You haven't clicked a radio or checkbox!");
});
Попробовали несколько разных синтаксисов, может ли кто-нибудь помочь мне на этом.
Приветствия
Charlie
Ответы
Ответ 1
Вы вводите в заблуждение множественный селектор с помощью нескольких селекторов атрибутов. Вы должны написать:
$("input:not([type=radio], [type=checkbox])");
Множественный селектор атрибутов [type=radio][type=checkbox]
соответствует элементам, атрибуты type
равны как radio
, так и checkbox
, что не может произойти в этом юниверсе.
Ответ 2
Синтаксис внутри not()
идентичен синтаксису нормального селектора, поэтому, если вы хотите совпадать с вещами, которые не являются ни тем, что вы делаете, вы используете селектор, который не соответствует обоим (поскольку, по сути, вы отрицая селектор). Как ты это делаешь? Точно так же вы применяете стили к нескольким селекторам одновременно в CSS с запятой, так:
$('input:not([type=radio],[type=checkbox])')
Это должно выбрать все входы не [type=radio]
, а не [type=checkbox]