Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 第n个奇偶子代,用于IE 7+;8._Javascript_Html_Css - Fatal编程技术网

Javascript 第n个奇偶子代,用于IE 7+;8.

Javascript 第n个奇偶子代,用于IE 7+;8.,javascript,html,css,Javascript,Html,Css,如果不使用jQuery,如何在Javascript或CSS中找到替换函数来模拟CSS: table#report tr:nth-child(odd) { background-color:#eeeeee; } table#report tr:nth-child(even){ background-color:#ffffff; } 我不知所措,必须找到解决上述问题的办法。在我的情况下,我做到了,效果很好 var aTr = document.getElementsByTagName("tr")

如果不使用jQuery,如何在Javascript或CSS中找到替换函数来模拟CSS:

table#report tr:nth-child(odd) { background-color:#eeeeee; }

table#report tr:nth-child(even){ background-color:#ffffff; }

我不知所措,必须找到解决上述问题的办法。

在我的情况下,我做到了,效果很好

var aTr = document.getElementsByTagName("tr");
for(var i=0, ii=aTr.length; i<ii; i++){
    if(i%2!=0){
        aTr[i].style.backgroundColor = "#eeeeee";
    }else{aTr[i].style.backgroundColor = "#ffffff";}
}
var aTr=document.getElementsByTagName(“tr”);

对于(var i=0,ii=aTr.length;i在我的例子中,我这样做了,效果很好

var aTr = document.getElementsByTagName("tr");
for(var i=0, ii=aTr.length; i<ii; i++){
    if(i%2!=0){
        aTr[i].style.backgroundColor = "#eeeeee";
    }else{aTr[i].style.backgroundColor = "#ffffff";}
}
var aTr=document.getElementsByTagName(“tr”);

对于(var i=0,ii=aTr.length;i解决方法是在输出上使用交替类名称。如果不想更改标记服务器端,可以在运行时使用jQuery应用这些名称。

解决方法是在输出上使用交替类名称。如果不想更改标记,可以在运行时使用jQuery应用这些名称服务器端。

假设基本JavaScript还可以,对于功能性方法,我建议:

function oddEven(table) {
    if (!table) {
        return false;
    }
    else {
        table = table.nodeType == 1 ? table : document.getElementById(table);
        var rows = table.getElementsByTagName('tr');
        for (var i=0, len=rows.length; i<len; i++) {
            rows[i].className = i%2 == 0 ? 'even' : 'odd';
        }
    }
}

oddEven('tableID');
oddEven(document.getElementById('tableID'));


.

假设基本JavaScript还可以,对于功能性方法,我建议:

function oddEven(table) {
    if (!table) {
        return false;
    }
    else {
        table = table.nodeType == 1 ? table : document.getElementById(table);
        var rows = table.getElementsByTagName('tr');
        for (var i=0, len=rows.length; i<len; i++) {
            rows[i].className = i%2 == 0 ? 'even' : 'odd';
        }
    }
}

oddEven('tableID');
oddEven(document.getElementById('tableID'));


.

下面是一个使用javascript和css类的解决方案:

JS:


还有一个JSFIDLE演示:

这里是一个使用javascript和css类的解决方案:

JS:


还有一个jsiddle演示:

使用JQuery,这可以毫无问题地完成

就这样,

$('#report tr:nth-child(2n+1)').addClass('odd');

使用JQuery,这可以毫无问题地完成

就这样,

$('#report tr:nth-child(2n+1)').addClass('odd');

您可以使用一些脚本来设置类(通过迭代或遍历行)。如果您经常操作行,例如移动行或添加/删除行,这可能会很困难,但与此同时,您可以创建一个函数,并在每次修改集合时调用它(这不是最有效的)您可以使用一些脚本来设置类(通过迭代或遍历行)。如果您经常操作行,例如移动行或添加/删除行,这可能会很困难,但与此同时,您可以创建一个函数,并在每次修改集合时调用它(这不是最有效的)添加类名应优先于直接应用内联样式。+1,或添加类而不是设置单个样式。可能更易于维护,但概念相同。这可能会与
表一起使用。tBodies
不将此应用于
部分。@Ian好吧,这有助于Jason如何做,想法就在这里。我指的是你代码示例中的格式(如空格、制表符)。缩进被弄乱了。我修复了它,但你又修改了它(可能是个意外)添加类名应优先于直接应用内联样式。+1,或添加类而不是设置单个样式。可能更易于维护,但概念相同。这可能会与
表一起使用。tBodies
不将此应用于
部分。@Ian好吧,这有助于Jason如何做,想法就在这里。我指的是你代码示例中的格式(如空格、制表符)。缩进被弄乱了。我修复了它,但你又修改了它(可能是个意外)我喜欢它的这种变体,因为它选择了定义css类。加油!感谢大家的辛勤工作。我喜欢它的这种变体,因为它选择了定义css类。加油!感谢大家的辛勤工作。