Я хочу использовать оператор 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();
}
});
Ваше утверждение всегда будет истинным, так как 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 не является ни одним из этих значений, попробуйте приведенный выше код.
||
к&&
. Помните законы Деморгана!p && !q === !(p || q)
:-)