Temat: Jak zmienić kolor tła <td> gdy zawiera określony...
Wcześniej bardzo uprościłam przykład - id w drugim div (z informacją o kategorii wydarzenia) jest generowane dynamicznie:
<table>
<tr>
<td>
<div id= "nrDnia-20">20</div>
</td>
<td>
<div id= "nrDnia-21">21</div>
<div id= "wydarzenie-720-21" class= "biezacyMiesiac kat_spotkanie-biz mojeWydarzenie3"> Spotkanie biz. z fimą X
<a href= "www.firmaX.pl">www.firmaX.pl</a>
</div>
</td>
<td>
<div id= "nrDnia-22">22</div>
</td>
<td>
<div id= "nrDnia-23">23</div>
<div id= "wydarzenie-738-23" class= "biezacyMiesiac kat_spotkanie-prv mojeWydarzenie4"> Spotkanie prywatne</div>
</td>
</tr>
</table>
Jeden znacznik <td> zawiera informacje o jednym dniu w miesiącu. Jak nie ma wydarzenie to jest tylko jeden <div> z nr dnia. Jeśli wydarzenie jest to drugi <div> zawiera informacje o wydarzeniu, także kategorię do jakiej jest przypisane.
Poniżej CSS, gdzie kolorowany jest tylko tekst w drugim <div>:
table, tr, td {
border: 1px solid black;
}
td {
height: 80px;
}
td div[class*="kat_spotkanie-biz"]{
background-color: #e5d0ff;
}
td div[class*="kat_spotkanie-prv"]{
background-color: #e0defa;
}
EDIT:
http://jsfiddle.net/BNyb9/33/
Zależy mi na tym by pokolorować nie tylko zawartość w drugim <div>, ale także poniżej niego (dzień miesiąca, czyli pierwszy <div> nie musi być w tym przypadku kolorowany). Obecnie w zależności od tego jakiej długości jest tekst z informacją o wydarzeniu taka część jest kolorowana (a poniżej pozostaje białe tło). Wydaje mi się, że można to uzyskać przez pokolorowanie w pierwszej kolejności całego <td>, a potem ewentualnie zmienić tło na pierwszym <div>.
Ten post został edytowany przez Autora dnia 18.10.15 o godzinie 14:49