Javascript 循环背景色(用于循环)

Javascript 循环背景色(用于循环),javascript,dom,loops,for-loop,Javascript,Dom,Loops,For Loop,我正在努力学习Javascript和DOM。我想使用for循环为我的文本创建可选的背景色 HTML: 一个 两个 三 四 五 Javascript: var p = document.getElementByTagName(p); var colors = ["red","green"]; for(var i=0 ; i < p.length; i++) { p.style.background = colors; } var p=document.getElemen

我正在努力学习Javascript和DOM。我想使用for循环为我的文本创建可选的背景色

HTML:

一个

两个

Javascript:

var p = document.getElementByTagName(p);
var colors = ["red","green"];

 for(var i=0 ; i < p.length; i++) {
     p.style.background = colors;

 }
var p=document.getElementByTagName(p);
变量颜色=[“红色”、“绿色”];
对于(变量i=0;i
这是小提琴:

任何帮助都很好:)

看看这个

你有一些错误。。。大多忘记了
p[i]
中的
[i]
,也忘记了复数形式的
getElementsByTagName
。。我向颜色数组添加了更多值,因此它不会超出范围(您也可以使用
%
(mod)作为
颜色[I%colors.length]

尝试以下操作:

for(var i=0 ; i < p.length; i++) {
     p[i].style.background = colors[i%2];

 }
for(变量i=0;i
i%2
表示余数或
i
(循环变量)除以2。你要做的是让它看看交替的地方

值得一提的是,在新浏览器中


这里有一个简单明了的方法来实现你想要的,而不需要额外的不必要的功能:

var paragraphs = document.getElementsByTagName("p");
var colors = ["#FF0000", "#00FF00", "#0000FF"];
for(var i = 0; i < paragraphs.length; i++) {
    paragraphs[i].style.backgroundColor = colors[i % colors.length];
}

你现在的代码怎么了?它没用吗?犯错误?使你的电脑崩溃?让飞行的猴子从天而降?给你免费的华夫饼干?请澄清,谢谢。为什么p[i].style.background在p之后有一个[i]?p是一个包含所有
元素的数组,您只想更改当前元素的背景。。p[i]是当前元素是的,请看我的更新:
colors[i%colors.length]
这样您就不会超出颜色数组的界限。。(您可能有比颜色更多的
元素)。。太好了。我从来没有在数组中使用过除[I]、[1]、[2]等以外的任何东西,我必须查看这意味着什么:)当你为(I=0;这太好了。我可以使用colors.push();使颜色填充所有的p元素吗?我不知道
colors.push()
在这里为你做了什么(它在colors数组中添加了一个元素),但如果你的意思是在创建后将项目添加到该数组的末尾,那么是的,你可以。对不起,我的意思是因为我在数组中只有两种颜色,但有五个段落。与其在数组中创建更多颜色,我可以只使用两个,但仍然对所有五个标记进行着色吗?是的,这是模运算符在这里所做的操作(百分比%)。这是“除法余数”。谢谢。是的,我使用了一个循环,所以理论上它可以无穷大。我是否总是使用%余数来实现无穷大,数组中只有两个项?你不能达到无穷大,除非你有一个循环检查一个从未实现的条件,或者一个方法在没有合理返回的情况下调用自己%(模数)运算符使值在每三次迭代开始时换行并重新启动,从而使您永远不会用完分配给
的颜色。
var paragraphs = document.getElementsByTagName("p");
var colors = ["#FF0000", "#00FF00", "#0000FF"];
for(var i = 0; i < paragraphs.length; i++) {
    paragraphs[i].style.backgroundColor = colors[i % colors.length];
}
#container p:nth-child(3n+1)
{
    background-color: #F00;
}
#container p:nth-child(3n+2)
{
    background-color: #0F0;
}
#container p:nth-child(3n+3)
{
    background-color: #00F;
}