Javascript 如何避免将CSS类设置为两个表中的一个表?
我有一个id为Javascript 如何避免将CSS类设置为两个表中的一个表?,javascript,jquery,css,html-table,Javascript,Jquery,Css,Html Table,我有一个id为outerTable的表 在第一个表中,有另一个表id为innerTable 我希望一个类仅应用于outerTable的偶数行 我尝试了以下方法: $(document).ready(function() { var i, j, tables, rows; tables = document.getElementsByTagName('table'); for ( i = 0; i < tables.length; i +=
outerTable
的表
在第一个表中,有另一个表id为innerTable
我希望一个类仅应用于outerTable
的偶数行
我尝试了以下方法:
$(document).ready(function() {
var i, j, tables, rows;
tables = document.getElementsByTagName('table');
for ( i = 0; i < tables.length; i += 1 ) {
rows = tables[i].rows;
for ( j = 0; j < rows.length; j += 1 ) {
rows[j].className = j % 2 ? 'even' : 'odd';
}
}
});
但它不起作用
以下是我的HTML/PHP代码:
<table border="0" id="outerTable" cellspacing="0">
<?php
for($i=0;$i<$num;$i++)
{
while($row = mysql_fetch_assoc($agent_res))
{
?>
<tr valign="top">
<td width="200px"><?php echo $row['agent_name']; ?></td>
<td width="100px;"><?php echo $row['port']; ?></td>
<td width="200px"><?php echo $row['address']; ?></td>
<td>
<table align="left" id="innerTable">
<tr>
<td><b>Contact</b></td>
<td>: </td>
<td><?php echo $row['contact']; ?> </td>
</tr>
<tr>
<td><b>Email ID</b></td>
<td>: </td>
<td><?php echo $row['email_id']; ?></td>
</tr>
<tr>
<td><b>Telephone</b></td>
<td>: </td>
<td><?php echo $row['tel']; ?></td>
</tr>
<tr>
<td><b>Fax</b></td>
<td>: </td>
<td><?php echo $row['fax']; ?></td>
</tr>
<tr>
<td><b>Website</b></td>
<td>: </td>
<td><?php echo $row['website_address']; ?></td>
</tr>
</table>
</td>
</tr>
<?php
}
}
?>
</table>
接触
:
电子邮件ID
:
电话
:
传真
:
网站
:
所以请任何人帮我解决这个问题
以下是针对这种情况的JSFIDLE:使用此
$("#outerTable tr:not(#innerTable tr)").each(function(){
if($(this).index() % 2==0)
{
$(this).addClass("evenTest");
}
});
用这个
$("#outerTable tr:not(#innerTable tr)").each(function(){
if($(this).index() % 2==0)
{
$(this).addClass("evenTest");
}
});
当您使用jquery时,只需使用以下代码来获取OuterTable:
var table = $('#outerTable')[0];
当您使用jquery时,只需使用以下代码来获取OuterTable:
var table = $('#outerTable')[0];
在css定义中添加以下内容:
#innerTable td {
background: white !important;
}
fiddle:在css定义中添加以下内容:
#innerTable td {
background: white !important;
}
fiddle:如果您只想删除背景色,可以添加此CSS
#outerTable tr.odd td td {
background: none repeat scroll 0% 0% #FFF;
}
如果您只想删除背景色,可以添加此CSS
#outerTable tr.odd td td {
background: none repeat scroll 0% 0% #FFF;
}
将样式选择器更改为
#outerTable > tbody > tr > td
及
请参见将样式选择器更改为
#outerTable > tbody > tr > td
及
请参见您可以使用CSS规则
.outerTable>tr>td{ }
.outerTable>tr.even>td { }
您可以使用CSS规则
.outerTable>tr>td{ }
.outerTable>tr.even>td { }
谢谢,这很有效。您已经解决了我的两个问题,我还想删除表的左边框和底部边框。再次非常感谢……谢谢你,它很管用。您已经解决了我的两个问题,我还想删除表的左边框和底部边框。再次感谢。。