I’m knitting vertical stripes and can’t seem to stop the stitches on either side of the new colour to be loose, however hard I try and keep them tight and loop them around each other. Can anyone advise me what’s wrong?

This is a little hard to explain, but here goes: Let’s say you are knitting with red and green. Let’s say you just finished with a red stripe and are about to knit with the green. Let the green yarn hang down in the back of your work. With your left hand, with as many fingers as you can spare, because you’re going to need that hand to knit, hold the red yarn tightly, horizontally across your work, just below the needle. Take the green yarn and come up under and in back of that and knit the first green stitch. When you come back on your purl row and are about to change to red again, pull the red yarn tightly, where you caught it with the green, before knitting the first red stitch-- and for the that first stitch, you’re going to do exactly what you did above, except with reverse colors. It’s much easier than it sounds, it’s just hard to explain.

Try looking at this. Go down to “second row”, and see where the brown yarn is coming up under the red? That’s what I mean: