换成这样就可以了<ul class="ul2" id="ul2"><li><A HREF="">1</A></li><li><A HREF="">2</A></li><li><A HREF="">3</A></li><li><A HREF="">4</A></li><li><A HREF="">5</A></li><li><A HREF="">6</A></li><li><A HREF="">7</A></li><li><A HREF="">8</A></li><li><A HREF="">9</A></li></ul>
因为ff把标签之间的空白看作了一个text节点
例如
<ul class="ul2" id="ul2"> <li><A HREF="">1</A></li></ul>
实际上是2个节点一个是前面的空格一个是li
因为ff把标签之间的空白看作了一个text节点
例如
<ul class="ul2" id="ul2"> <li><A HREF="">1</A></li></ul>
实际上是2个节点一个是前面的空格一个是li
<ul class="ul2" id="ul2">
<li><A HREF="">1</A></li>
<li><A HREF="">2</A></li>
<li><A HREF="">3</A></li>
<li><A HREF="">4</A></li>
<li><A HREF="">5</A></li>
<li><A HREF="">6</A></li>
<li><A HREF="">7</A></li>
<li><A HREF="">8</A></li>
<li><A HREF="">9</A></li>
</ul>
IE下,只有input才会把换行符、空白符等当成是text节点,而其它元素都会忽略这类text节点。
function ulcolor(){
obj=document.getElementById("ul2");
count=obj.childNodes.length;
var Flag=0;
for (i=0;i<count;i++ ){
node=obj.childNodes[i];
if(node.type==3) continue;//继续 if(Flag%2==0){//根据Flag取模,如果根据i的话有可能存在text节点
node.style.background="#DDD";
}else{
node.style.background="#EEE";
}
Flag++;
}
}
obj=document.getElementById("ul2");
count=obj.childNodes.length;
var Flag=0;
for (i=0;i<count;i++ ){
node=obj.childNodes[i];
if(node.nodeType==3) continue;//继续 if(Flag%2==0){//根据Flag取模,如果根据i的话有可能存在text节点
node.style.background="#DDD";
}else{
node.style.background="#EEE";
}
Flag++;
}
}