使用" for循环更改每秒ul li的颜色"

时间:2014-11-20 05:48:49

标签: javascript

我正在使用codecademy学习javascript,到目前为止我理解了很多工作原理。遗憾的是,他们没有解释如何定位元素颜色或如何定位元素/选择器/ div。

我正在测试我的知识。我正在尝试的是通过使用for循环将每个第二个列表项的颜色设置为红色。

我该怎么做?

var listColor = function(){
    var color = style.("red");
    var list = getElementsByTagName("li");
    for (i = 0; i < list.length; i + 2;) {
    list === color   
    }
    ];
    listColor();

这里是我的http://jsfiddle.net/Lr8nZ/15/

UPdATED JSfiddle但仍无法正常工作http://jsfiddle.net/Lr8nZ/23/

基本上是这样的:

红色, 黑色, 红色, 黑

4 个答案:

答案 0 :(得分:2)

有些事情是这样的。

  var listColor = function(){

  var list = document.getElementsByTagName("li");
  for (i = 0; i < list.length; i++) {
    if(i%2==0)
    list[i].style="color:red";
    else
        list[i].style="color:blue";

   }
 }
 listColor();

答案 1 :(得分:0)

试试这个

    <html>
<head>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
    <script type="text/javascript">



    $(document).ready(function(){
        index=1;    
        $("#temp li").each(function(){
            if(index%2==0)
            {
                $(this).css("color","red")
            }
            index++;
        });
    })

    </script>
<style>

</style>
</head>

<body>

<ul id='temp'>
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
</ul>

</body>
</html>

答案 2 :(得分:0)

您有一些语法错误,但您可以这样做:

var listColor = function() {
  var list = document.getElementsByTagName('li');

  for (var i = 0, l = list.length; i < l; i++) {
    if (i % 2 === 0) {
      list[i].style.color = 'red';
    }
  }
};

// Or...

var listColor = function() {
  var list = document.getElementsByTagName('li');

  for (var i = 0, l = list.length; i < l; i += 2) {
    list[i + 1].style.color = 'red';
  }
};

listColor();

当您增加i时,请确保使用i++i += 1更新其值,否则您将创建无限循环。

i % 2使用%模数运算符。它是你将两个数字分开得到的剩余部分。偶数除以2,所以余数为0,我们检查。

您要查找的媒体名为style。它有一个名为color的属性,在这种情况下我们将其设置为字符串'red'

答案 3 :(得分:0)

尝试使用控制台查看代码中的错误。对于任何js编码器来说,这是一个必不可少的工具。这是更新的小提琴http://jsfiddle.net/Lr8nZ/24/

您注意到的第一件事是style.color('red')。要使此行甚至是有效的js,必须定义样式对象。否则它会在window上搜索它,这总会导致混淆。

另一件事是注意我们如何在for循环'第三个条件中实际将新值分配给i。只提及i+2将无效,因为i将保持不变,从而导致无限循环。

再次,启动Web控制台。通常,您可以通过右键单击页面&gt;来实现。检查&gt; Web控制台。