gpt4 book ai didi

javascript - 使用 JavaScript 一次更改具有相同类名的多个元素的样式?

转载 作者:太空宇宙 更新时间:2023-11-04 13:49:04 25 4
gpt4 key购买 nike

我有一堆 div,每个 div 都有不同的类组合(例如“a A”、“a b”、“b A”、“b”等)。

按一下按钮,我需要更改所有具有类 A 的元素的样式(不仅是“A”,而且必须包含它。例如“d A”和“A”会工作)

我试过了

document.getElementsByClassName('a A').style.background = "#f00";

但是没有用。控制台显示它无法为元素“未定义”设置样式,所以我猜它无法通过 getElementsByClassName(); 获得我需要的东西。

最佳答案

getElementsBySomething(复数)的 DOM 方法,与 getElementBySomething 返回 NodeList 的方法相反,不是一个元素。 NodeList 是类似于数组的对象。

如果采用这种方法,则必须遍历它并依次更改每个元素。大多数图书馆都有快捷的方法来为你做这件事。

例如对于 YUI 3:

Y.all('.foo').setStyle('background', '#f00');

或jQuery

jQuery('.foo').css('background', '#f00');

另一种方法是修改 the stylesheet itself with JavaScript .

第三种选择是使用后代选择器提前设置更改后的样式,例如:

.foo { /* something */ }
body.bar .foo { /* something else */ }

然后

document.body.className += " bar";

激活替代样式。

关于javascript - 使用 JavaScript 一次更改具有相同类名的多个元素的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7743849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com