【发布时间】:2012-04-04 13:04:27
【问题描述】:
我正在做一个项目,该项目有一个 div 和 32 个孩子。我需要创建一个下拉菜单来更改每个 div 和父级的背景。对于项目的其他部分没有孩子,我一直在使用以下代码:
function changediv(color) {
document.getElementById('div1').style.background = color;
}
HTML:
<select>
<option onClick="changediv('#555');">Hex</option>
<option onClick="changediv('blue');">Colorname</option>
<option onClick="changediv('url(example.com/example.png)');">Image</option>
</select>
我可以为每个孩子添加一个不同的 ID (id1,id2,id3,...),但是有 32 个孩子,我不仅要添加 32 个 ID,还要添加 32 行 Javascript。一定有更好的方法;以某种方式选择子级,甚至更改选择子级的实际 CSS 代码。
谢谢,伊恩
【问题讨论】:
-
你试过纯 CSS 解决方案吗?根本不需要任何 JS。
-
我会,但我必须使用下拉菜单来更改 div 的背景,我也许可以这样做,但会非常复杂。跨度>
-
用
.querySelectorAll()怎么样? -
@GermaVinsmoke 这在 2012 年不是一个选择,但现在它会是一个很棒的选择。您为什么不将其发布为答案?
-
@Ian ,根据您的建议,我已经发布了答案,希望对其他人有所帮助。
标签: javascript