2012-07-10 109 views
-2

可能重复:
Change an element's CSS class with JavaScript通过ID更改HTML元素

发现很多关于这个主题的主题,但没有帮助我。我有:

<div id="text-6" class="block col-228"> 

Javascript代码应该添加新类健康,所以结果应该是:

<div id="text-6" class="block col-228 fit"> 

如何做到这一点的JavaScript?

+2

对于将来的搜索,[这是我如何找到](https://www.google.com/search?q=javascript+add+class+to+element)。 – 2012-07-10 13:18:40

回答

3

尝试这样的:

var elem = document.getElementById("text-6"); 
elem.setAttribute("class", elem.getAttribute("class")+" fit"); 

重要提示:你必须保证,您DOM Hierarchy完全构建,然后试图操纵DOM Element秒。这就是为什么你需要把DOM操作脚本放在window.onload回调里面,或者如果你使用jQuery,那么在$(document).ready里面回调。

+0

''script type =“text/javascript”> var elem = document.getElementById(“text-6”);elem.setAttribute(“class”,elem.getAttribute(“class”)+“fit”); ' 加入标题 - 不工作 那么这个div标签的附近尝试,没有什么太 – elwins 2012-07-10 13:24:06

+1

@elwins - 似乎工作:http://jsfiddle.net/f3YCG/ – 2012-07-10 13:31:48

+1

@RobHruska我加入了相关的说明有关elwins评论 – Engineer 2012-07-10 13:32:19

2

您在脚本标记之间放置以下内容。

document.getElementById('text-6').className += " fit"; 
2

我推荐使用jQuery。然后,你可以做这样的事情:

$("#text-6").addClass("fit"); 

编辑:

包括整个jQuery库可以为您的情况是矫枉过正,但如果你使用DOM操作打交道很多,jQuery的可以简化的东西相当多。如果只是为了这一点,那么提供的一些其他答案会更好。

+2

不能说我主张包括jQuery的全部来源只是为一个元素添加一个类名。似乎有点矫枉过正...... – danwellman 2012-07-10 13:18:11

+0

@danwellman我编辑了我的答案 - 我假设要完成多个操作,而问题只是如何完成。 – 2012-07-10 13:26:18