JQuery: Зацепить всех, кроме ___? Я ищу способ выбрать все элементы на странице, кроме тех, у которых указано место DOM. Вот пример того, что я хотел бы сделать: jQuery('*').except('.ignore').bind('click', function(e) { ... }); Возможно ли это в "native jQuery"? Ответ 1 Вы хотите использовать селектор :not(): jQuery(":not(.ignore)").bind("click", function(e) { ... }); Ответ 2 Другой способ, если у вас уже есть селектора для обоих: $('.foo').not('.ignore').bind(...); Кроме того, больше фильтров. Ответ 3 jQuery not-selector для спасения! $('*:not(.ignore)').bind('click', function(e) { ... }); Ответ 4 С другой стороны, делать что-то с каждым элементом на странице одновременно является неприятным. Там лучший способ. Я бы рекомендовал привязать к телу, а затем игнорировать клики по некоторым элементам: $(document.body).click(function(e){ if($target.closest('.ignore').length) return true; ... }); ... Или используя jQuery 1.3 .live(), который делает это для вас: $(":not(.ignore)").live(function(e){ ... });
Ответ 1 Вы хотите использовать селектор :not(): jQuery(":not(.ignore)").bind("click", function(e) { ... });
Ответ 2 Другой способ, если у вас уже есть селектора для обоих: $('.foo').not('.ignore').bind(...); Кроме того, больше фильтров.
Ответ 4 С другой стороны, делать что-то с каждым элементом на странице одновременно является неприятным. Там лучший способ. Я бы рекомендовал привязать к телу, а затем игнорировать клики по некоторым элементам: $(document.body).click(function(e){ if($target.closest('.ignore').length) return true; ... }); ... Или используя jQuery 1.3 .live(), который делает это для вас: $(":not(.ignore)").live(function(e){ ... });