Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js] jak usunąć wszystkie obrazki ze strony
m.mix
post
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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' (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
}
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") (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
lord_t
post
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()
Go to the top of the page
+Quote Post
m.mix
post
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

a może ma ktoś pomysł jak to napisać bez jquery?
Go to the top of the page
+Quote Post
lord_t
post
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.
Go to the top of the page
+Quote Post
kamil4u
post
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ć (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Co do poprawności kodu pod IE obawiam się, że nie działa tam ten fragment: cloneNode(true);
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 16:43