javascript - 如何动态更改 HTML 标签的 CSS 类?

标签 javascript html css

我正在使用 JavaScript。我有一个变量 var boolVal计算结果为 true/false .在我的页面上,我有一个 <div>标签:

<div id='div1' class="redClass"></div>

基于var boolVal的值,我想更改 <div> 的 CSS 类标记为 blueClass .

例如:现在的类(class)是<div>颜色为红色,那么新类应该在运行时使页面变为蓝色,而不需要刷新页面。

我们可以用简单的 JavaScript 实现吗?我们可以使用

document.getElementById("MyElement").className = "MyClass";

或者我们应该使用 AddClass

最佳答案

您可以使用classList 动态添加基于id 的CSS 类API如下:

document.getElementById('idOfElement').classList.add('newClassName');

还是老办法:

document.getElementById('idOfElement').className = 'newClassName';
// += to keep existing classes

或者,您可以使用下面显示的其他 DOM 查询方法来查找元素。最后三个返回一个集合,因此您必须对其进行迭代并将该类应用于集合中的每个元素(类似于下面给出的每个元素的示例)。


在你的情况下

var element = document.getElementById('div1');
if(boolVal)
   element.className= 'blueClass'; // += ' blueClass'; to keep existing classes
else
   element.className= 'redClass';

关于javascript - 如何动态更改 HTML 标签的 CSS 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22576927/

相关文章:

javascript - 带有 Facebox 的 Onclick 在 IE8 中不起作用

javascript - Javascript 上的 ECDSA 签名验证失败(椭圆)

javascript - Chrome HTML document.execCommand ('inserthtml' 插入下表单元格

javascript - 度数转换不适用于反三 Angular 函数

javascript - 如何在同一控件上为不同事件实现不同的 debounceTime?

javascript - 如何将 snapshot.val() 从 Firebase 返回到变量?

html - 表格边框不适用于所有面

html - 未知元素超出窗口

css - 性能,一次性提供所有CSS,还是根据需要提供?

php - 将独立的 CSS 应用到 PHP