简体   繁体   中英

Change tr background-color

I have something like this:

<tr id='<%=currentRow %>' onclick="SetBackgroundColor(this)" style="background-color:Yellow">

When i click on a row i want to change its background color and i did like this:

function SetBackgroundColor(rowId) 
{
     $(rowId).css("background-color", "#000000");
}

but i don't know why it doesn't work. Any suggestions please?

IE has a problem with background colors for the TR element. A more safe way is to set background to the TD's and TH's inside the TR:

<table id="tabletest">
    <tr>
        <td>testcell</td>
    </tr>
</table>

<script>
$('#tabletest tr').bind('click', function(e) {
    $(e.currentTarget).children('td, th').css('background-color','#000');
})
</script>

Added: you can assign a single event handler for the entire table to increase performance:

$('#tabletest').bind('click', function(e) {
    $(e.target).closest('tr').children('td,th').css('background-color','#000');
});

In jQuery you do not have to use the onclick attribute to assign an event handler. Lets say you add a class called mytr to each tr that you want to affect. Then you can do something like this:

 $(document).ready(function(){
        $(".mytr").click(function(){
             $(this).css("background-color", "#000000");
        });
 });

And that will apply the event handler to all rows with the class mytr.

This will reset each row upon clicking a new one...

$(document).ready(function(){

  $('tr').click(function(){
    $('tr td').css({ 'background-color' : 'green'});
    $('td', this).css({ 'background-color' : 'red' });
  }); 

});

demo: http://jsbin.com/aciqi/

 $('#RowID').children('td, th').css('background-color','yellow');

A simpler solution is to probably use a selector for all rows in the table or addClass.

Example

$("#myTable tr").click(function() {
    $(this).css('background-color', '#f00');
});

or

$("#myTable tr").click(function() {
    $(this).addClass('selected');
});

Instead of changing the table row background color, try changing the table cell background color.

$(document).ready(function() {
    $(".mytr td").click(function() {
         $(this).css("background-color", "#000000");
    });
});

谢谢大家......问题是在masterpage中我before query-1.3.2-vsdoc.js before加载了j query-1.3.2.min.js ,这样它就不能query-1.3.2-vsdoc.js再次query-1.3.2-vsdoc.js

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM