2010-05-24 13 views
5

Mam dwie tabele. <table id='1'></table> i <table id='2'></table>. Kiedy mogę umieścić ten kod:jQuery alternatywne kolory wierszy tabeli dla konkretnej tabeli

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

}); 

Obie tabele dostał alternatywne kolory wiersz, którego nie chcę, chcę tylko pokolorować tabelę z id = 2. jak można to osiągnąć?

Odpowiedz

15

zmodyfikować kod tak:

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

ta zakłada, masz tabelę z id zestaw do id2 np

<table id="id2"> 
+0

używanie takich identyfikatorów nie jest dozwolone w HTML, a IE go nie rozpoznaje. – nickf

+0

użycie selektora elementów z selektorem identyfikatorów to dodatkowa praca na silniku selektora (i przeglądarce dla css) - elementy powinny być określone tylko dla nazw klas, na przykład "# id1 tr.myCoolEvenClass". (w powyższym przykładzie # id1 już wskazuje na tabelę, więc nie trzeba mówić "spójrz na wszystkie tabele i znajdź # id1) –

+0

@nickf: Tak, wiedziałem o tym, ale właśnie przedłużałem jego przykład, chociaż powinienem zasugerować nie użyj czystej liczby jako id. Dzięki – 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 nie jest funkcją, którą musisz zadeklarować jako pierwszą. – JuanFernandoz

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

działa również

Powiązane problemy