оператор if - несколько условий

0

Я хочу использовать оператор if, чтобы проверить, не соответствует ли e.currentTarget.id "alert" или "history", и это не работает. Есть ли другой способ проверить два условия для любой ситуации или подобной ситуации?

  var buttons = elt.find(":submit,:button,.clickable");
  buttons.unbind("click");
  buttons.click(function (e) {
    put({ "tag": "click",  "id": e.currentTarget.id});
    if(e.currentTarget.id != "alert" || e.currentTarget.id != "history"){
        $(".hide_on_click").hide();
    }
  });
  • 0
    Попробуйте изменить || к && . Помните законы Деморгана !p && !q === !(p || q) :-)
  • 0
    Это сделал это !! Огромное спасибо.
Теги:
if-statement

1 ответ

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

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

  var buttons = elt.find(":submit,:button,.clickable");
  buttons.unbind("click");
  buttons.click(function (e) {
    put({ "tag": "click",  "id": e.currentTarget.id});
    if(e.currentTarget.id != "alert" && e.currentTarget.id != "history"){
        $(".hide_on_click").hide();
    }
  });

Я не уверен, что вы хотите делать; но если вы хотите скрыть что-то, когда id не является ни одним из этих значений, попробуйте приведенный выше код.

Ещё вопросы

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