The following ions contain three oxygen atoms:

A) carbonate, sulfite, and nitrite
B) sulfite, nitrate, and bromate
C) sulfate, hypochlorite, and carbonate
D) chlorate, iodate, and phosphite

I know I can eliminate A and C.

That's right. Nitrite(NO2-) and hypochlorite(ClO-) and sulfate [SO4]^2- don't have 3.

B is OK. Isn't D OK too?

I know, that is why I am confused choosing an answer.

The problem is poorly worded. If you answered correctly you would answer, carbonate, sulfite, nitrate, bromate, chlorate, iodate, and phosphite.

By merging those into answers both B and D are correct. Check to make sure there isn't a typo. That might be bromite or phosphate, chlorite, etc.

To determine the correct answer, let's analyze the ions listed in the options and count the number of oxygen atoms in each one.

A) Carbonate (CO3^2-): This ion contains three oxygen atoms.
Sulfite (SO3^2-): This ion contains three oxygen atoms.
Nitrite (NO2^-): This ion contains two oxygen atoms.

B) Sulfite (SO3^2-): This ion contains three oxygen atoms.
Nitrate (NO3^-): This ion contains three oxygen atoms.
Bromate (BrO3^-): This ion contains three oxygen atoms.

C) Sulfate (SO4^2-): This ion contains four oxygen atoms.
Hypochlorite (ClO^-): This ion contains one oxygen atom.
Carbonate (CO3^2-): This ion contains three oxygen atoms.

D) Chlorate (ClO3^-): This ion contains three oxygen atoms.
Iodate (IO3^-): This ion contains three oxygen atoms.
Phosphite (PO3^3-): This ion contains three oxygen atoms.

By analyzing the options, we can see that:

A) Carbonate, sulfite, and nitrite have different numbers of oxygen atoms.
C) Sulfate and hypochlorite have different numbers of oxygen atoms.

Therefore, option B) sulfite, nitrate, and bromate, and option D) chlorate, iodate, and phosphite both contain ions with three oxygen atoms. Since you already eliminated options A and C, the correct answer is B) sulfite, nitrate, and bromate.