Сочетание AND и OR в селекторах jQuery

У меня есть селектор jQuery со следующим синтаксисом:

$('input[type=image]').not('.xyzClass').click(function{
    //some functionality
});

Таким образом, это добавляет специальные функции щелчка для всех компонентов, которые имеют тип изображения и не имеют класса.xyzClass

***** Я изменил вопрос, чтобы отразить последние изменения, некоторые из приведенных ниже ответов верны для предыдущей версии, но могут оказаться неверными для модифицированной версии. Извиняюсь за это.

Нам нужно условие ИЛИ с условием класса. Такой что любой компонент который естьвход» имеющий тип как изображение, должен быть выбран, ЕСЛИ

класс неxyzClassИЛИ ЖЕидентификатор содержит строкуsomeIdString

Не могли бы вы помочь с модификацией в существующем селекторе?

Приветствия.

Ответы на вопрос(3)

ИЛИ ЖЕ" используйте запятую: я

$('input[type=image]')
    .not(".xyzClass,[onclick*='someSpecificFunctionality()']")
    .click(...);

я не уверен, как тыОпределяете onclick, хотя: это в вашем HTML или добавлено программно?

 Priyank27 авг. 2009 г., 07:34
это поставит не условие на второй "по щелчку" проверьте также. Isn»не так ли? Что не является решением, которое мы хотим.
 nickf27 авг. 2009 г., 08:06
о - вопрос был немного двусмысленным в своем первоначальном виде.
Решение Вопроса

Обновленный ответ

$('*:not(.

Для вашего обновленного вопроса, хотя это неЯ бы рекомендовал указать как можно больше.

Оригинальный ответ:

function someSpecificFunctionality() {
}

$(els)

.click(someSpecificFunctionality)
.data('someSpecificFunctionality', true)


$(els).filter(function() {

    return 
        $(this).not('.xyzClass') && 
        $(this).data('someSpecificFunctionality') == true

});
 Priyank27 авг. 2009 г., 07:41
Принимая это как ответ, так как это более гибкий способ, учитывая, что у меня может быть больше условий в будущем.
$(":image:not(.xyzClass),:image[onclick*='someSpecificFunctionality']");
 Priyank27 авг. 2009 г., 07:41
Благодарю. это помогло мне получить правильный ответ.

Ваш ответ на вопрос