удаление элементов в переменной, jquery

0

Здесь код:

var $type = $('#services, #reseller,#technology,#referral'); 
$type.click(function() {
$('#region-nav-reseller').hide();

Я могу скрыть # region-nav-реселлер, когда я нажимаю на $ type (#services, #reseller, #technology или #referral).

Это отлично работает, но как насчет того, если я хочу исключить #technology и #reseller, когда я нажимаю на $ type?

Я вижу что-то вроде:

$type-$('#technology, #reseller').click(function() {
    $('#region-nav-reseller').hide();

Но это не работает (duh;))

  • 0
    Не могли бы вы просто удалить их из самой переменной? so var $type = $('#services,#referral'); ?
Теги:

2 ответа

2
Лучший ответ

Если я правильно понимаю вашу проблему, [.not()][1] jQuery [.not()][1] должна помочь вам. Пытаться:

$($type).not('#technology, #reseller').click(...);

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

var clickable = $("#technology, #reseller");
var nonClickable = $("#services, #referral");
var everything = $(clickable).and(nonClickable);

// Now you can do different things with these different sets
$(everything).whatever();
$(clickable).click(...);
  • 0
    Почему $($type) ?
  • 0
    Потому что людям легче понять :) Но да, это излишне. $type.not(...) быстрее / дешевле и имеет тот же эффект.
Показать ещё 2 комментария
2
$type.click(function(ev) {
    if (this.id !== 'technology' && this.id !== 'reseller') {
        $('#region-nav-reseller').hide();
    }
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню