当前位置: 首页 > 面试题库 >

使用javascript更改整个CSS类的样式

仰英发
2023-03-14
问题内容

有没有一种方法可以使用javascript更改CSS类的属性?

<style type="text/css">
  .fool select {
    display: block;
  }
</style>

<p class="fool">
  <select id="a" onchange="changeCSS()"> ... </select>
  <select id="b" > ... </select>
  <select id="c" > ... </select>
</p>

我想<select>在用户调用函数changeCSS()后将display:block更改为display:none,将所有元素都更改为无。

看起来很简单,但我找不到解决方法…


问题答案:

关键是为其他类定义额外的规则,并将这些类添加到元素中,而不是重写给定样式规则的规则。

JS

function changeCSS() {
  var selects = document.getElementsByTagName("select");
  for(var i =0, il = selects.length;i<il;i++){
     selects[i].className += " hidden";
  }
}

CSS

.fool select.hidden, select.hidden {
   display: none;
}

或使用真正有效的方法(但可能还需要一些特定的样式规则)

JS

function changeCSS() {
  document.getElementsByTagName("body")[0].className += " hideAllSelects"
}

CSS

body.hideAllSelects select {
   display: none;
}


 类似资料:
  • HTML CSS 上面的svg加载并且是本机的但是当我使用上面的尝试将它更改为黑色时,它没有改变,这是我第一次使用svg并且我不确定它为什么不工作。

  • 问题内容: 是否可以通过JavaScript更改CSS伪元素样式? 例如,我想像这样动态设置滚动条的颜色: 而且我还希望能够告诉滚动条这样隐藏: 但是,这两个脚本都返回: 未捕获的TypeError:无法读取null的属性“样式” 还有其他解决方法吗?跨浏览器的互操作性并不重要,我只需要它在Webkit浏览器中即可工作。 问题答案: 编辑 : 从技术上讲,有一种通过JavaScript直接更改CS

  • 问题内容: 我需要找到一种使用JavaScript更改CSS:hover属性的方法。 例如,假设我有以下HTML代码: 以及以下CSS代码: 我想使用JavaScript将悬停属性更改为例如background:#00ff00。知道我可以使用JavaScript通过以下方式访问样式背景属性: 但是我不知道:hover的JavaScript等效项。如何使用JavaScript更改这些的:hover背

  • 问题内容: 有没有一种方法可以使用jQuery更改CSS类的属性,而不是元素属性? 这是一个实际的例子: 我上课有一个div 我想更改类背景属性,而不是已分配类背景的元素。 如果我使用jQuery .css()方法做到这一点: 它会影响现在具有class的元素。到这里为止一切都很好。但是,如果我进行Ajax调用,并在class中插入更多div ,则这些背景将不会具有绿色背景,而它们将具有初始背景。

  • 问题内容: 我有一个CSS课 我想使用Jquery在事件上执行类似的操作: 这行不通。这是错误的方法吗?我应该使用addClass()和removeClass()吗? 编辑:我想出了我的问题。实际上,此命令是有效的。在我的特定应用程序中,在使用命令之前,我没有使用类创建元素,因此在创建元素时,没有任何改变。 基本上,此命令不会更改CSS样式规则,只会更改使用该类的元素。 问题答案: 将在页面上找到