【发布时间】:2017-10-01 06:07:19
【问题描述】:
我在页面上有重复元素(部分)。我想在数组中保存的三种颜色之间迭代元素的背景颜色。在其中一些元素中,我有文本(p),我想遍历这些相同的颜色,除了我希望它成为数组中的下一个颜色作为背景。
所以如果我有一个看起来像 ["111111", "222222", "333333"] 的数组,我希望第一部分的背景颜色为 #111111,第一个 p 的颜色为 #222222 .页面上的元素也比数组中的项目多,所以我们需要循环回数组。完成后的页面应如下所示:
<body>
<section style="background-color: #111111;">
<p style="color: #222222;">foo bar</p>
</section>
<section" style="background-color: #222222;">
<p style="color: #333333;">foo bar</p>
</section>
<section style="background-color: #333333;">
<!--no p in this one-->
</section>
<section style="background-color: #111111;">
<p style="color: #222222;">foo bar</p>
</section>
</body>
我已经完成了背景颜色部分,但我不知道如何转移到数组中的下一项并在必要时从第一项重新开始。
var bgColors = ["111111", "222222", "333333"];
$('section').each(function(i) {
var bgColor = bgColors[i % bgColors.length];
$(this).css('background-color', '#'+bgColor);
// How to do text color???
$(this).find("p").css('color', ???);
});
脚本应该灵活,以便您可以添加和更改颜色。谢谢。
编辑:我意识到我遗漏了一个重要的一点,那就是不是每个部分都有一个 p 所以你不能只是独立地遍历它们。另外由于 c&p 事故,我的 html 与我的 JS 不匹配。道歉。
【问题讨论】:
标签: javascript jquery html arrays