![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 18.03.2010 Ostrzeżenie: (0%)
|
Witam,
Muszę do istniejącej już (generowanej automatycznie) tabeli dorobić opcję z pokazywaniem i chowaniem się jednej kolumny za pomocą jednego guzika. Podejrzewam, że trzeba zmienić styl z np. display: none; na display: table-cell za pomocą JavaScript - Niestety nie mam pojęcia jak odwołać się do konkretnej kolumny za pomocą jednego guzika. Na internecie znalazłem kilka przykładów ale wszystkie były 'statyczne' - więc odwoływały się przez ID |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%)
|
Przerób pod własne potrzeby (IMG:style_emoticons/default/smile.gif) :
Kod <style>
td{ border:1px solid black; } </style> <table id="test"> <tr><td>1</td><td>2</td><td>3</td></tr> <tr><td>1</td><td>2</td><td>3</td></tr> <tr><td>1</td><td>2</td><td>3</td></tr> <tr><td>1</td><td>2</td><td>3</td></tr> </table> <script> var trs = document.getElementById('test').getElementsByTagName('tr'); for(var i=0, td; td = trs[i++].getElementsByTagName('td')[1]; ){ td.style.backgroundColor = 'red'; } </script> |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 18.03.2010 Ostrzeżenie: (0%)
|
Prawie działa ^^ a mianowicie:
1 - mam w tabeli jeszcze th - ale to chyba można zrobić analogicznie jak z td (chyba ze jest prostszy sposób ) 2 - przykład który mi podałeś działa - ale jak włączę konsole JS to mam error: Uncaught TypeError: Cannot call method 'getElementsByTagName' of undefined |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%)
|
Ad1. tak, zrób to analogicznie
Ad2. Nie wiem do końca dlaczego tak, ale zrób: Kod <style>
td{ border:1px solid black; } </style> <table id="test"> <tr><td>1</td><td>2</td><td>3</td></tr> <tr><td>1</td><td>2</td><td>3</td></tr> <tr><td>1</td><td>2</td><td>3</td></tr> <tr><td>1</td><td>2</td><td>3</td></tr> </table> <script> var tr = document.getElementById('test').getElementsByTagName('tr'),td; for(var i=0; td = tr[i++]; ){ td.getElementsByTagName('td')[1].style.backgroundColor = 'red'; } </script> |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 18.03.2010 Ostrzeżenie: (0%)
|
Prawie działa ^^ - niestety znika/pojawi się tylko pierwsza komórka danej kolumny - to chyba przez to, że tabela jest tworzona dynamicznie ponieważ na statycznym przykładzie wszystko działa pięknie - a gdy wrzucam to do php to element TH w ogóle się nie pojawia a TD tylko w pierwszym wierszu - jakieś pomysły jak to naprawić?
funkcje w JS
edit: ok już wiem, że problemem jest zagnieżdżona tabelka - tylko nie wiem jak 'wyłączyć' ją z działania funkcji - jakieś pomysły? Ten post edytował Flake 18.03.2010, 15:11:58 |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 04:19 |