|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Dec 2007
Città: Friuli
Messaggi: 154
|
[javascript] DOM associazione css al documento
sto studiando javascript e da quel che dice il mio libro
javascript non permette di associare fogli di stile css creati con javascript a documenti html, questo in DOM Level 2. In DOM Level 3 è cambiato qualcosa? Se no, allora l'unico modo per aggiungere regole css è l'impostazione dell'attributo style degli elementi html ? Ma non dovrebbe esserci la separazione tra html/css ?? CSS è stato creto per separare il contenuto dalla presentazione, no? Allora perchè hanno fatto così il DOM ?
__________________
iPhone4, MacBook |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
non ho provato ma, dal momento che é possibile* associare un ID al tag <link> usato tra l'altro per legare i fogli stile ai documenti HTML, quasi sicuramente é possibile cambiare dinamicamente un foglio.
purtroppo non ti so dire quale livello della specifica DOM permetta questa cosa ma la questione mi interessa e quindi mi sa che ci butto un occhio. *controllato ora sulle specifiche di HTML 4.01 |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
ho provato e funziona egregiamente in IE8, FF e Chrome.
codice della pagina: Codice:
<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test</title>
<link id="style" rel="stylesheet" type="text/css" href="style1.css"/>
</head>
<body>
<p class="test">TEXT</p>
<script type="text/javascript">
// <![CDATA[
setTimeout(function() {
document.getElementById("style").href = "style2.css";
}, 2000);
// ]]>
</script>
</body>
</html>
file style1.css: Codice:
.test {
background-color: yellow;
}
file style2.css: Codice:
.test {
background-color: green;
}
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Dec 2007
Città: Friuli
Messaggi: 154
|
vi ringrazio,
ma generalmente che approccio si usa con Javascript nel creare "istruzioni" css ? Si creano tag e gli si imposta l'attributo style oppure si crea il foglio di stile e lo si associa (topic di questo thread) ? Da quel che ho capito si preferisce la prima, no?
__________________
iPhone4, MacBook |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
a chi?
Quote:
|
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Quote:
Per la seconda ipotesi comunque raramente si carica un file css già pronto, in quanto questo vorrebbe dire che poi si utilizzerà quello stile, staticamente, per tutta la navigazione; per ottenere quel risultato non si usa javascript ma un linguaggio lato server. Javascript si usa per cambiarlo dinamicamente, infatti permette di maneggiare(creare, cambiare e cancellare) un foglio di stile, accedendo agli oggetti styleSheet: Codice:
var myStyleSheet=document.styleSheets[0];
myStyleSheet.insertRule(".test{ background-color: yellow; }", 0); // FF
myStyleSheet.addRule(".test{ background-color: yellow; }", 0); // IE
Ultima modifica di MEMon : 08-08-2010 alle 18:14. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:35.




















