What is a hydrogen bond?
Firstly you should consider this simple model of atoms: There is a compact nucleus and smeared out electron clouds. In H this cloud is simply spherical. In many other atoms (e.g. O, C, N, S, etc.) the clouds are usually arranged like this (I did not find english site for some reason) (imagine tying 4 ballons together, forming a tetrahedron). This also explains the general geometry of water (and ice). 

As you know in water the hydrogen is covalently bonded to oxygen. But due to the different properties of O and H the electrons of these bonds are not distributed symmetrically but much nearer the oxygen, leaving the hydrogen slightly positively charged. (Note that different elements cause different levels of asymmetry, a higher difference in electronegativity corresponds to a stronger asymmetry. This is why hydrocarbons ( C-H-bonds are rather apolar) are not very soluble in water.) 

Now these positive H nuclei can bond to "full" electron clouds (e.g. the two of oxygen in water that are not bonded to hydrogen) 

For something to be suluble in water you need to have many of those polar bonds and "free electron clouds", so e.g. sugars are easily soluble but e.g. alkanes are not. 

These illustrations hopefully make now more sense. Sadly I could not find an english text about the tetrahedron model, which I consider didactically very useful.

Edit: Note that although hydrogen bonds are due to the electrostatic attraction, they are quite distinct from ionic bonds in the aspect that they have a definitive orientation, i.e. in ice the bonds still form tetrahedrons and not a cubic lattice or something like that. 
I do not know a very good explanation but I think this is simply because the scale is much smaller; if the angle changes just a bit, the negatively charged part of the hydrogen atom interferes already.