PDA

View Full Version : [XHTML] Pseudo classe :AFTER in IE


whiles_
17-06-2006, 13:20
c'è un modo di far andare queste pseudo classi senza modificare il codice interessato? ad esempio con qualche riga di javascript o un po' di commenti condizionali... perchè mi servirebbero assolutamente, devo mettere un'immagine dopo ogni link. Grazie in anticipo delle risposte.

whiles_
17-06-2006, 16:04
ho trovato questo, https://sourceforge.net/project/showfiles.php?group_id=109983&package_id=119707 ma se ci fosse qualcosa di più leggero sarebbe meglio...

andbin
17-06-2006, 17:52
c'è un modo di far andare queste pseudo classi senza modificare il codice interessato? ad esempio con qualche riga di javascript o un po' di commenti condizionali... perchè mi servirebbero assolutamente, devo mettere un'immagine dopo ogni link. Grazie in anticipo delle risposte.Prova questo codice (è una pagina html completa di test):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Test</title>
<script type="text/javascript">
<!--
function aggiusta_link ()
{
if (navigator.userAgent.toLowerCase().indexOf ("msie") != -1)
{
for (i=0; i<document.links.length; i++)
{
document.links(i).innerHTML += " <img src=\"http://img230.imageshack.us/img230/5382/external6ku.gif\" border=\"0\" width=\"10\" height=\"10\">";
}
}
}
//-->
</script>
<style type="text/css">
<!--
a:after { content: url("http://img230.imageshack.us/img230/5382/external6ku.gif"); padding-left: 5px; }
-->
</style>
</head>
<body onload="aggiusta_link()">

<p>
<a href="http://www.google.com">Google</a>
<br>
<a href="http://www.altavista.com">Altavista</a>
</p>

</body>
</html>Nota: ho linkato la prima immagine che ho trovato. :p

Comunque lo stile CSS serve per i browser che gestiscono correttamente la pseudo-classe :after (es. Firefox) mentre lo script JS controlla se il browser è IE e in quel caso aggiusta i link.

Spero che sia questo che volevi fare. ;)

whiles_
18-06-2006, 00:29
Prova questo codice (è una pagina html completa di test):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Test</title>
<script type="text/javascript">
<!--
function aggiusta_link ()
{
if (navigator.userAgent.toLowerCase().indexOf ("msie") != -1)
{
for (i=0; i<document.links.length; i++)
{
document.links(i).innerHTML += " <img src=\"http://img230.imageshack.us/img230/5382/external6ku.gif\" border=\"0\" width=\"10\" height=\"10\">";
}
}
}
//-->
</script>
<style type="text/css">
<!--
a:after { content: url("http://img230.imageshack.us/img230/5382/external6ku.gif"); padding-left: 5px; }
-->
</style>
</head>
<body onload="aggiusta_link()">

<p>
<a href="http://www.google.com">Google</a>
<br>
<a href="http://www.altavista.com">Altavista</a>
</p>

</body>
</html>Nota: ho linkato la prima immagine che ho trovato. :p

Comunque lo stile CSS serve per i browser che gestiscono correttamente la pseudo-classe :after (es. Firefox) mentre lo script JS controlla se il browser è IE e in quel caso aggiusta i link.

Spero che sia questo che volevi fare. ;)

non è esattamente quello che cerco, ma grazie lo stesso. La funzione che volevo dovrebbe trovare tutte le classi con :after e modificare i tag che la usano, perchè ho diverse classi :after e dovrei mettere un bel po' di js per completare, e inoltre non è riutilizzabile.

Provo a modificarla un po' io domani, ma ho un dubbio (scusate ma non posso installare IE fin quando non riesco a farlo girare con wine): si riesce dal dom a capire se ad una classe è stata associata la pseudo classe after, ed eventualmente al leggere il contenuto det tag content, quindi modificare tutti gli elementi a cui è stata attribuita quella classe? grazie infinite