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属性。