IT技术博客大学习 共学习 共进步

不要用setAttribute设置className

记事本 2010-08-04 00:07:31 累计浏览 1,884 次

创建了一个新的元素,然后添加class,发现用setAttribute(“class”, “foo”)这种方式在IE6下不起作用。查了一下jQuery的源代码:

以下是代码片段:
// internal only, use addClass("class")
add: function( elem, classNames ) {
 jQuery.each((classNames || "").split(/\s+/), function(i, className){
  if ( elem.nodeType == 1 && !jQuery.className.has( elem.className, className ) )
   elem.className += (elem.className ? " " : "") + className;
 });
},

之后改为elem.className = “foo”就可以了。