日期:2014-05-17  浏览次数:20644 次

js写的隔行变色效果没有作用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1.0-transitional.dtd">

<html>
  <head>
  <meta http-equiv="Content-Type" content="text/html;charset=gb2312">
  <title>隔行变色</title>
  <style>
  </style>

  <script>
  window.onload = function()
  {
  var oDiv = document.getElementById("div1");
  var oP = oDiv.getElementsByTagName("p");

  var color = "";
  var i=0;
  for(i=1;i<=oP.length;i++)
  {
  if(i%2==0)
  oP.color = "red";
  else
  oP.color = "blue";
  }
  };

  </script>
  </head>

  <body>
  <div id="div1">
  <p>1111111111</p>
  <p>2222222222</p>
  <p>1111111111</p>
  <p>2222222222</p>
  <p>1111111111</p>
  <p>2222222222</p>
  <p>1111111111</p>
  <p>2222222222</p>
  </div>
  </body>
</html>

------解决方案--------------------
首先 把结构搞清楚

JS 这么写 
window.onload = function() {
var oDiv = document.getElementById("div1");
var oP = oDiv.getElementsByTagName("p");

var color = "";
var i = 0;
for (i = 1; i <= oP.length-1; i++) {
if (i % 2 == 0)
{
oP[i].style.backgroundColor="red";
}
else
{
oP[i].style.backgroundColor= "blue";
}
}
};
然后请你用 jqury 很简单
------解决方案--------------------
window.onload = function() {
var oDiv = document.getElementById("div1");
var oP = oDiv.getElementsByTagName("p");

var color = "";
var i = 0;
for (i = 0; i <= oP.length-1; i++) {
if (i % 2 == 0)
{
oP[i].style.backgroundColor="red";
}
else
{
oP[i].style.backgroundColor= "blue";
}
}
};
------解决方案--------------------
for(i=1;i<=oP.length;i++)
{
if(i%2==0)
oP[i].style.color = "red";
else
oP[i].style.color = "blue";
}
就是这个地方的原因