【问题标题】:Change HTML element by ID [duplicate]按 ID 更改 HTML 元素 [重复]
【发布时间】:2012-07-09 23:26:09
【问题描述】:

可能重复:
Change an element's CSS class with JavaScript

找到了很多关于这个主题的主题,但没有一个对我有帮助。我有:

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

Javascript 代码应该添加新的类拟合,所以结果应该是:

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

如何用 javascript 做到这一点?

【问题讨论】:

标签: javascript html class


【解决方案1】:

试试这样:

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

重要提示:您需要确保您的DOM Hierarchy 已完全构建,然后尝试操作DOM Elements。这就是为什么您需要将DOM 操作脚本放在window.onload 回调中,或者如果您使用jQuery,则在$(document).ready 回调中。

【讨论】:

  • &lt;script type="text/javascript"&gt; var elem = document.getElementById("text-6"); elem.setAttribute("class", elem.getAttribute("class")+" fit"); &lt;/script&gt; 添加到标题中 - 不工作然后尝试靠近这个 div 标签,什么也没有
  • @elwins - 似乎工作:jsfiddle.net/f3YCG
  • @RobHruska 我添加了有关 elwins 评论的相关说明
  • hmm,那么如何正确添加到网页呢?
  • @elwins 试试这样:window.onload=function(){ var elem = document.getElementById("text-6"); elem.setAttribute("class", elem.getAttribute("class")+" fit"); };.
【解决方案2】:

您将以下内容放在脚本标签之间。

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

【讨论】:

    【解决方案3】:

    我建议使用jQuery。然后你可以这样做:

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

    编辑:

    包含整个 jQuery 库对于您的情况可能有点过头了,但是如果您经常处理 DOM 操作,jQuery 可以简化很多事情。如果只是为了这一件事,那么提供的其他一些答案会更好。

    【讨论】:

    • 不能说我提倡包含jQuery的整个源代码只是为了给一个元素添加一个类名。似乎有点矫枉过正......
    • @danwellman 我已经编辑了我的答案 - 我假设要进行多项操作,而问题只是关于如何完成。
    猜你喜欢
    • 2016-06-17
    • 1970-01-01
    • 1970-01-01
    • 2018-06-23
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多