如何检查ul中的每个li文本颜色?

时间:2011-12-08 08:31:37

标签: javascript jquery

我想在单击更改按钮时逐个更改<li>的文本颜色。一旦所有<li>文本都显示为红色,它将显示警告消息“所有li文本颜色已更改!”。

我的HTML代码是:

<html>
  <body>
    <button id="change">change li text-color</button>
    <ul id="nav">
      <li>one</li>
      <li>two</li>
      <li>three</li>
      <li>four</li>
      <li>five</li>
      <li>six</li>
      <li>seven</li>
    </ul>
  </body>
</html>

我的脚本是(jquery v1.5.2):

$(document).ready(function ()
{
  $('#change').click(function ()
  {
    $('#nav li').each(function ()
    {
        $(this).css('color', '#F00');
    });
  });
});

1 个答案:

答案 0 :(得分:2)

我认为你想要每次点击一个接一个地改变颜色。 添加一个计数器:

$(document).ready(function ()
{
  var len = $('#nav li').length,
      cnt = 0;
  $('#change').click(function ()
  {
    if (cnt < len)
    {
      $('#nav li:eq('+cnt+')').css('color', '#F00');
      cnt++;
    } else {
      alert("all li text color changed!");
    }
  });
});

演示:http://jsfiddle.net/SUtED/