开发者

Change tr background-color

开发者 https://www.devze.com 2022-12-13 01:17 出处:网络
I have something like this: <tr id=\'<%=currentRow %>\' onclick=\"SetBackgroundColor(this)\" style=\"ba开发者_如何学JAVAckground-color:Yellow\">

I have something like this:

<tr id='<%=currentRow %>' onclick="SetBackgroundColor(this)" style="ba开发者_如何学JAVAckground-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");
    });
});


Thank you all..the problem was that in the masterpage i was loading the jquery-1.3.2.min.js before query-1.3.2-vsdoc.js and that's way it wasn't working..thanks again

0

精彩评论

暂无评论...
验证码 换一张
取 消