there should be a starter relay (or two, one on starter itself and one in fuse box) , that could be bad
I would suggest checking voltage at the starter and relay/fuse box, as if its not getting correct voltage and amps to things, it will then show you you have wiring issues or battery issues still!
as over time a lot of ground cables and battery power cables go bad, they get corrosion IN them under the insulation, and or there connections get corrosion on them and then they do not provide enough voltage/amps to things, causing them to fail, or not work properly
the same can be with the battery itself, have you had it load tested? and not just taking a voltage reading on it?
next and I add this due to its winter time in most places, and that tends to mean harder starting,
so, I will ask you, HOW Long are you letting the starter spin trying to start a cold engine
spinning a starter too long will wear parts in a starter, keep doing sop, and you will ruin the starter
spinning the starter too long when its not getting enough voltage/amps to it, NOT allowing it to spin fast enough will also add extra wear and tear to it shorting the life of starter!
in winter if possible use a block heater to help on colder starts
is this an OEM or a made in china starter??
I think you can guess which is better!
last, I know some OEM"s and even after market some times have a lower gear ration starter,( more torque to them) as an option, they help start in areas with colder weather conditions, allowing starter to spin cold motors easier, and thus, will last longer
so you might want to check into this with JD , if you got a GOOD dealer near you or know of one, , call and ask for if they have them for your model!