Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.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
Jquery 表行奇偶重设_Jquery_Css_Html Table - Fatal编程技术网

Jquery 表行奇偶重设

Jquery 表行奇偶重设,jquery,css,html-table,Jquery,Css,Html Table,我用的是: jQuery("tr:odd").css("background-color", "#f5f5f5"); jQuery("tr:even").css("background-color", "#ececec"); 只需简单地为交替的表行添加背景色,效果很好。问题是,如果在同一页中有多个表,它只会不断向下迭代每个表,而不是为每个表重置并启动新的表。我的th背景色与偶数行的颜色相同,因此最终它会赶上,我有一个th和tr的背景色是相同的,因此看起来像一个大行 如何使用jquery的这两行

我用的是:

jQuery("tr:odd").css("background-color", "#f5f5f5");
jQuery("tr:even").css("background-color", "#ececec");
只需简单地为交替的表行添加背景色,效果很好。问题是,如果在同一页中有多个表,它只会不断向下迭代每个表,而不是为每个表重置并启动新的表。我的
th
背景色与偶数行的颜色相同,因此最终它会赶上,我有一个
th
tr
的背景色是相同的,因此看起来像一个大行


如何使用jquery的这两行,但如果页面上有多个表,如何使其重新开始?

首先选择表,然后查找子行:

jQuery("table").find("tr:odd").css("background-color","#f5f5f5");


使用相同的方法减少字符。

尝试在下面的上下文中使用
表格

jQuery("tr:odd", 'table').css("background-color", "#f5f5f5");
jQuery("tr:even", 'table').css("background-color", "#ececec");

完美。我会接受,只要它让我,说12分钟以上。这仍然适用于我所有的表。你能用ID引用一个特定的表吗?我想,我可以使用这样的ID标记:jQuery(“#myTable tr:odd”).css(“背景色”,“#EFF3FB”);谢谢你的快速回答。这也行得通,所以我要投赞成票。碰巧首先得到了Blazemonger的答案。您使用jQuery而不是纯CSS进行此操作有什么特别的原因吗?只是为了跨浏览器兼容性。我不认为第n个孩子得到了充分的支持,尤其是在IE的旧版本中。我错了吗?。jQuery在较新版本中已经放弃了对IE9之前版本的支持:FWIW没有对
n个子项
进行检测,但它对
最后一个子项
进行非核心检测,这(可能)在相同的浏览器上受支持。您可以对支持它的浏览器使用纯CSS,对不支持JS的浏览器使用Modernizer detect。我没有想到使用
:n子项(奇数)
而不是
:奇数
会产生不同的结果。
jQuery("table tr:nth-child(odd)").css("background-color", "red");
jQuery("table tr:nth-child(even)").css("background-color", "yellow");