分析:存在元素化合价变化的反应为氧化还原反应,有离子参加的反应为离子反应,以此来解答.
解答:解:A.没有离子参加反应,不属于离子反应,故A不选;
B.有离子参加,且Zn元素的化合价升高,H元素的化合价降低,则既是氧化还原反应又是离子反应,故B选;
C.没有元素的化合价变化,不属于氧化还原反应,故C不选;
D.没有元素的化合价变化,不属于氧化还原反应,故D不选;
故选:B.
点评:本题考查氧化还原反应和离子反应,侧重化学反应分类的考查,把握反应中元素的化合价变化、是否有离子参加为解答的关键,题目难度不大.