[javascript] Eliminare il "display" dallo Style di un oggetto.

mercoledì 02 agosto 2006 - 18.09

Pinky Profilo | Junior Member

(JavaScript)
Per visualizzare o nascondere una tabella o qualsiasi altro oggetto di una pagina html uso:

obj = document.getElementByid("<objId>");

//hide:
obj.style.display = "none";


show:
obj.style.display = "inline";
oppure
obj.style.display = "";
oppure
obj.style.removeAttribute("display"); // credo sia il più corretto

con FireFox non va
(perlomeno in certe situazioni, tag annidati, <span> ...)

Come fare per riportare il [b]style="display: none;"[/b] a qualcosa che non nasconda l' oggetto ???

Grazie, Alessandro

Brainkiller Profilo | Guru

>con FireFox non va
>(perlomeno in certe situazioni, tag annidati, <span> ...)

Non mi risulta, mi è sempre funzionato. e neanche in situazioni con tag annidati. Se il flow dei tag è mantenuto correttamente con aperture e chiusure deve funzionare.
Se non ti va prova ad allegare uno zip con la pagina HTML.

Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

Pinky Profilo | Junior Member

La pagina funziona in IE ed in Maxthon (altro browser) senza nessun errore .

Guardando nella console javascript di Firefox mi viene segnalato questo errore:

Errore: table.rows[table.rows.length - 1].style.removeAttribute is not a function
File sorgente: file:///C:/Documents%20and%20Settings/alessandro/Desktop/02.html
Riga: 65

riga incriminata:
table.rows[table.rows.length-1].style.removeAttribute("display");

Allego il file, non l'ho zippato (da 24 Kb passava a 4 Kb) ma ho solo aggiunto l'estensione .zip

Grazie, Alessandro.


[Aggiunto in seguito]

Ho anche provato:
obj.style.removeAttribute("display", "false");
ma non funziona lo stesso.

Ho risolto utilizzando:
obj.style.display = "";
sostituendolo nelle due posizioni dove avevo necessità di eliminare il "display: none;"

Così funziona.

(Firefox mi si è appena autoaggiornato alla 1.5.0.6).

Comunque google.search("FireFox removeAttribute doesnt work ") trova molte pagine ...
In una in particolare avevo trovato un problema specifico, qualcosa del tipo:
<table><div><table><...><table><...><span style="display: none;">
ma non ricordo se riguardava vecchie versioni di Firefox ...
Da questo ho intuito che anche una diversa "posizione" dell' elemento all' interno della pagina potesse influenzare il funzionamento dello script.

Ciao, Alessandro.


[Seconda aggiunta]

Ricordo meglio:
il problema dei tag annidati (almeno per certi tipi) era che essi ricomparivano all'interno della pagina, ma in posizione differente o comunque con problemi di visualizzazione,
quando venivano (l'ho provato sulla mia pelle) rimessi in vista con display = "inline" (in Firefox);

Ciao, Alessandro




Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5