不要用setAttribute设置className
这篇讲的是开发者在IE6下面临的一个具体问题:为什么用setAttribute("class", "foo")给元素添加类名会失效。作者从实际遇到的这个“坑”出发,深入到了浏览器底层的实现差异。 他查阅了jQuery的源码后发现,根源在于IE浏览器对className属性的处理方式与其他标准浏览器不同。在IE中,className并不像其他属性那样可以通过通用的setAttribute方法直接修改,它需要更特殊的操作方式。 文章通过这个细节,揭示了一个容易被忽略的兼容性陷阱:并非所有DOM属性的设置方式都是跨浏览器一致的。对于className这种核心样式属性,直接操作属性本身,而不是依赖通用的setAttribute,才是更稳妥的做法。这对处理老版本IE兼容性的前端同学来说,是个值得留意的细节。