2010-05-24 4 views
5

tengo dos tablas. <table id='1'></table> y <table id='2'></table>. Cuando pongo este código:jQuery colores de filas de tablas alternativas para una tabla específica

$(document).ready(function() 
{ 
    //for table row 
    $("tr:even").css("background-color", "#F4F4F8"); 
    $("tr:odd").css("background-color", "#EFF1F1"); 

}); 

Tanto las tablas consiguieron colores de las filas alternas, que yo no quiero, sólo quiero dar color a la mesa con id = 2. ¿Cómo se puede lograr?

Respuesta

15

modificar el código como:

$(document).ready(function() 
{ 
    $("table#id2 tr:even").css("background-color", "#F4F4F8"); 
    $("table#id2 tr:odd").css("background-color", "#EFF1F1"); 
}); 

Esto supone que tiene mesa con id conjunto de id2 por ejemplo:

<table id="id2"> 
+0

usando ID como ese no está permitido en HTML, y IE no lo reconoce. – nickf

+0

el uso de un selector de elementos con un selector de ID es un trabajo adicional en el motor selector (y navegador para css); los elementos deben especificarse solo para nombres de clase, como '# id1 tr.myCoolEvenClass'. (en el ejemplo anterior, # id1 ya apunta a la tabla, por lo que no es necesario decir "mira todas las tablas y encuentra # id1) –

+0

@nickf: Sí, lo sabía pero solo estaba extendiendo su ejemplo, aunque debería haber sugerido no usar número puro como id. Gracias – Sarfraz

1
Pass your table Id as parameter: 


settingTableRowColor('tableid'); 

var settingTableRowColor = function(tableName){ 
    $('#'+tableName+' tr:odd').attr('class','odd'); 
    $('#'+tableName+' tr:even').attr('class','even'); 
} 
+0

TypeError: settingTableRowColor no es una función que tiene que declarar la función primero. – JuanFernandoz

0
$("#tab1 tr:odd").css('background-color', 'red'); 

también funciona

Cuestiones relacionadas