Часто встречал эту проблему но никогда не знал почему это может происходить
$('.addMenuItem').click(function(){
	//здесь алерт с первого раза проходит
if(
//здесь алерт со второго раза проходит
$(this).parent('#addMenuButton').parent('#addMenu').hasClass('closed')){
	$(this).parent('#addMenuButton').parent('#addMenu').addClass('opened')
	$(this).parent('#addMenuButton').parent('#addMenu').removeClass('closed')
	$(this).find('.vbn').fadeOut(50);
	$(this).find('.nbv').fadeIn(50);
	$(this).parent('#addMenuButton').parent('#addMenu').find('#addMenuItems').css('display','block')
	}
	else{
	$(this).parent('#addMenuButton').parent('#addMenu').addClass('closed')
	$(this).parent('#addMenuButton').parent('#addMenu').removeClass('opened')
	$(this).find('.vbn').fadeIn(50);
	$(this).find('.nbv').fadeOut(50);
	$(this).parent('#addMenuButton').parent('#addMenu').find('#addMenuItems').css('display','none')	
		
	}
})
Есть соображения почему это может происходить?