Most like a duct problem. Check cables behind control to ensure smooth operation of all doors. The heater core is hot so something is blocking the air or it is being channeled improperly.
The front expansion valve is clogged.
May be a defective thermostat or heater core
You have run out of coolant, or the heater matrix is blocked.
You are low on coolant to the heater core.
if the heater does not blow out warm air change the setting.
Because your thermostat is probably stuck open
replace anti-freeze, replace thermostat
check heater fan to see if it is working.
One of the reasons a 2000 Jeep Cherokee heater would randomly blow cold air and then hot air and then cold might be that there is a problem with the hot/cold duct. The air or a vent might be inadvertently blowing periodically.
The engine needs to be hot in order for you to get got air. On a cold morning, even if you let your truck run for a while, will not get hot enough to blow hot air usually until you drive it for a little bit. When it gets at or near operating temperature there is no reason that it shouldn't blow hot air.
Your front blower motor has gone out. There is a front and a rear blower motor.
Low coolant, failed thermostat, partially plugged heater core...............