Javascript 如何避免将CSS类设置为两个表中的一个表?

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 +=

我有一个id为
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 { }

谢谢,这很有效。您已经解决了我的两个问题,我还想删除表的左边框和底部边框。再次非常感谢……谢谢你,它很管用。您已经解决了我的两个问题,我还想删除表的左边框和底部边框。再次感谢。。