fixed a bug on setAttribute