2010-05-24 10 views
5

Ho due tabelle. <table id='1'></table> e <table id='2'></table>. Quando ho messo questo codice:jQuery colori delle righe della tabella alternata per una tabella specifica

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

}); 

Sia le tabelle che hanno ottenuto i colori delle righe alternate, che io non voglio, voglio solo per colorare la tavola con id = 2. come può essere realizzato?

risposta

15

modificare il codice come:

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

Questo presuppone che tabella con id insieme a id2 esempio:

<table id="id2"> 
+0

utilizzando ID come questo non è consentito in HTML, e IE non lo riconosce. – nickf

+0

l'uso di un selettore di elementi con un selettore ID è un lavoro extra sul motore di selezione (e sul browser per css) - gli elementi dovrebbero essere specificati solo per i nomi di classi, come '# id1 tr.myCoolEvenClass'. (nell'esempio sopra # id1 punta già alla tabella, quindi non c'è bisogno di dire 'guarda tutti i tavoli e trova # id1) –

+0

@nickf: Sì lo sapevo ma stavo solo estendendo il suo esempio anche se avrei dovuto suggerire di non usa il numero puro come id. Grazie – 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 non è una funzione che devi dichiarare prima la funzione. – JuanFernandoz

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

funziona anche

Problemi correlati