我有以下函数,当触发将使一个DIV成为半透明。
function changeOpacity(el) {
var elem = document.getElementById(el);
elem.style.transition = "opacity 0.5s linear 0s";
elem.style.opacity = 0.5;
}
字符串
但是我希望这个函数能同时应用于多个DIV,我试着给每个DIV相同的类名,然后使用getElementsByClassName
,但是不知道如何实现它。querySelectorAll
更合适吗?如果合适,我将如何实现它?
4条答案
按热度按时间e7arh2l61#
我将使用querySelectorAll选择它们并循环遍历它们。
编辑:正如一条评论所说,如果样式值不是动态的,那么最好将它们放在CSS类中,并用途:
niwlg2el2#
另一种方法是使用
forEach()
和ES6+当只需要更新一个样式属性时,我特别喜欢这种语法。例如,如果你只需要改变不透明度,而不需要改变过渡,你可以使用一行:
然后,可以使用单独的方法设置过渡:
8hhllhi23#
另一种方法是使用FOR-IN中的Object条目:
根据需要进行修改。
hc8w905p4#
使用新的ES6 Array.map()遍历每个项目并更改属性