javascript – 使用querySelectorAll更改多个元素的样式属性

前端之家收集整理的这篇文章主要介绍了javascript – 使用querySelectorAll更改多个元素的样式属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下功能,当触发时会使DIV变为半透明.
  1. function changeOpacity(el) {
  2. var elem = document.getElementById(el);
  3. elem.style.transition = "opacity 0.5s linear 0s";
  4. elem.style.opacity = 0.5;
  5. }

但是我希望这个功能可以同时应用于多个DIV.我尝试给每个DIV相同的类名,然后使用getElementsByClassName,但无法弄清楚如何实现它.

querySelectorAll会更合适,如果是这样,我将如何实现它?

解决方法

我会用querySelectorAll选择它们并循环它们.
  1. function changeOpacity(className) {
  2. var elems = document.querySelectorAll(className);
  3. var index = 0,length = elems.length;
  4. for ( ; index < length; index++) {
  5. elems[index].style.transition = "opacity 0.5s linear 0s";
  6. elems[index].style.opacity = 0.5;
  7. }
  8. }

编辑:正如上面所说的评论,如果它们不是动态的并且使用以下内容,那么最好将这些值放在一个类中:

  1. elems[index].classList.add('someclass');

猜你在找的JavaScript相关文章