![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 21.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam taki problem - jest strona z tabelką, w tabelce różne treści, w tym i obrazki. Tabelka siedzi sobie w jakimś określonym div'ie. Chcę w jakiś prosty sposób wyeksportować tą tabelkę do zewnętrznego pliku, ale bez obrazków bo interesuje mnie treść a nie ozdobniki. Przyszło mi do głowy że javascript zajmie się przechwyceniem obiektu z tabelką, skopiuje go, prześle do skryptu php który zajmie się utworzeniem nowego pliku. I działa to fajnie, tylko zaskoczył mnie problem po stronie js - nie moge poradzić sobie z pozbyciem się tych obrazków.
CODE function eksportuj() { kopiadiva=document.getElementById("div_glowny").cloneNode(true); //kopiuje sobie element zeby nie popsuc efektu wyswietlanego alert(kopiadiva.getElementsByTagName("img").length); // sprawdzam sobie ile naliczylo obrazkow - nawet sie zgadza ![]() for (i=0; i<kopiadiva.getElementsByTagName("img").length;i++) { //tu w petli chcialem usuwac wszystkie obrazki kopiadiva.removeChild(kopiadiva.getElementsByTagName("img").item(i)); //ale juz na pierwszym krzyczy ze 'Node was not found' ![]() } document.getElementById("doeksportowania").value=kopiadiva.innerHTML; //a tu chcialem eksportowac to co mi zstanie } Macie pomysł w jaki sposób pozbyć się tych obrazków? próbowałem juz róznych sposobów i nie umiem się pozbyć zawartości kopiadiva.getElementsByTagName("img") ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 603 Pomógł: 131 Dołączył: 24.07.2007 Skąd: Górny Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Skorzystaj z jquery'owego remove()
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 21.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie, zadziałało w postaci:
CODE function eksportuj() { kopiadiva=document.getElementById("div_glowny").cloneNode(true); $(kopiadiva.getElementsByTagName("img")).remove(); document.getElementById("doeksportowania").value=kopiadiva.innerHTML; } Nie mam jeszcze nawyku czerpania z dobrodziejstw jquery, ale chyba najwyższy czas zmienić przyzwyczajenia ![]() a może ma ktoś pomysł jak to napisać bez jquery? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 603 Pomógł: 131 Dołączył: 24.07.2007 Skąd: Górny Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy to działa we wszystkich przeglądarkach ale poszukaj: removeChilds() albo zobacz jak to zrobili w kodzie źródłowym jQuery.
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Ach to jQuery.. do takich prostych skryptów IMO nie warto z niego i innych korzystać
![]() Kod function eksportuj() { var kopiadiva=document.getElementById("div_glowny").cloneNode(true); var iloscElementow=(var elementy = kopiadiva.getElementsByTagName("img")).length; for (var i=0; i<iloscElementow;++i) kopiadiva.removeChild(elementy[i]); document.getElementById("doeksportowania").value=kopiadiva.innerHTML; } Nie sprawdzałem - jak coś nie będzie działało pokaż trochę HTML ![]() Co do poprawności kodu pod IE obawiam się, że nie działa tam ten fragment: cloneNode(true); -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 07:22 |