0

我有一个 HTML 表和http://jsfiddle.net/Lijo/Hb28u/4/中给出的 jquery 脚本。有四种 jQuery 方法可以突出显示表格行。最后两种方法不起作用,为什么它们不起作用?我正在寻找简单的英语解释。

HTML

<table id="table1">
<tr> <td>N</td><td>Y</td></tr>  
<tr class="y_n"><td>Q</td><td>N</td></tr>  
</table> 

 <br/><br/>

<table id="table2">
<tr> <td>N</td><td>Y</td></tr>  
<tr class="y_n"><td>Q</td><td>N</td></tr> 
</table> 

<br/><br/>

<table id="table3">
<tr> <td>N</td><td>Y</td></tr>  
<tr class="y_n"><td>Q</td><td>N</td></tr>  
</table> 

 <br/><br/>

<table id="table4">
<tr> <td>N</td><td>Y</td></tr>  
<tr class="y_n"><td>Q</td><td>N</td></tr>  
 </table> 

 <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.js">

脚本

$(document).ready(function()
{


//Apporach 1  - Highlight First Row

$('#table1 tr td:eq(0)').each(function() {
if ($(this).text() == 'N') {
    $(this).parent().css('background-color', 'Orange');
}
});


//Apporach 2 -  - Highlight Second Row

$('#table2 tr td:gt(0)').each(function() {
if ($(this).text() == 'N') {
    $(this).parent().css('background-color', 'Orange');
}
});


//Apporach 3 - Highlight Second Row

$('#table3 tr td:eq(1)').each(function() {
if ($(this).text() == 'N') {
    $(this).parent().css('background-color', 'Orange');
}
});


//Apporach 4 Highlight All Rows

$('#table4 tr td)').each(function() {
if ($(this).text() == 'N') {
    $(this).parent().css('background-color', 'Orange');
}
});

});
4

2 回答 2

2

现在它可以工作

$('#table3 tr td:eq(3)').each(function() { // note that you search for td no. 3 and not 1
   if ($(this).text() == 'N') {
      $(this).parent().css('background-color', 'Orange');
   }
});


//Apporach 4 Highlight All Rows
$('#table4 tr td').each(function() { // note that in your example you have a ) at the end of the selector
    if ($(this).text() == 'N') {
        $(this).parent().css('background-color', 'Orange');
    }
});
于 2012-09-19T10:30:10.350 回答
0
 //Apporach 3 - Highlight Second Row
$('#table3 tr:eq(1) td').each(function() { //second row
if ($(this).text() == 'N') {
    $(this).parent().css('background-color', 'Orange');
}
});


    //Apporach 4 Highlight All Rows
    $('#table4 tr td').each(function() { //here you had a unnescessary ')'
    if ($(this).text() == 'N') {
        $(this).css('background-color', 'Orange');
    }
    });

希望你明白了:)

于 2012-09-19T10:30:07.990 回答