Javascript DOM元素addclass在IE7中不起作用

Javascript DOM元素addclass在IE7中不起作用,javascript,dom,Javascript,Dom,我正在使用DOM元素创建div phototab = document.createElement('div'); phototab.setAttribute('class', 'phototab fleft'); //phototab.className = "phototab fleft"; 我尝试了这两种方法,但它没有在IE7中添加类。您不能使用setAttribute()来影响实际上是DOM元素的属性的东西 phtototab.className = 'phototab fleft';

我正在使用
DOM元素创建div

phototab = document.createElement('div');
phototab.setAttribute('class', 'phototab fleft');
//phototab.className = "phototab fleft";

我尝试了这两种方法,但它没有在IE7中添加类。您不能使用
setAttribute()
来影响实际上是DOM元素的属性的东西

phtototab.className = 'phototab fleft';
应该有用。(这是IE的事情;其他浏览器不那么挑剔,但对于IE来说,属性就是属性,属性就是属性。)

编辑-我应该说,不应该在不必要的时候使用
.setAttribute()

jQuery怎么样

phototab = $("<div>").addClass("phototab fleft");
phototab=$(“”)。addClass(“phototab-fleft”);

就这些!非常简单。:)

您在哪里将其插入DOM,然后确认它不工作?您是否最终将DIV附加到文档?关于
setAttribute()您是对的
但是
className
对我来说很好-alex Pranav:我调用了一个带有值的javascript函数,并将这个div附加到父div中,这是非常正确的,但是在这里,将jQuery推到一个在标记中没有提到的问题上被认为是不好的形式。但他没有说他不想要jQuery。这只是给他的一个建议。@zuber Surya,你看,
$(“”)
是你的DOM元素。你怎么知道什么是属性,什么是属性?你只需要检查一下浏览器文档。据我所知,可以在标准HTML中设置的所有属性都显示为DOM节点的对象属性。这包括“id”、“tagName”、“type”、“className”、“name”、“style”、“checked”、“selected”、“for”、“href”、“src”等等。setAttribute()和className都适用于除IE7之外的其他浏览器。这就是我的想法和编写代码的方式。那么,什么时候必须使用
setAttribute()
?我认为
.setAttribute()
(在旧IE中,这很重要)主要用于非标准HTML属性。