Javascript 第n个奇偶子代,用于IE 7+;8.
如果不使用jQuery,如何在Javascript或CSS中找到替换函数来模拟CSS: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")
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类。加油!感谢大家的辛勤工作。