Sto utilizzando l'attributo CSS content
per passare alcuni valori dal mio foglio di stile MENO a JavaScript (per utilizzare alcuni colori definiti in MENO in tela elementi). Per semplificarmi la vita ho deciso di inserire questi valori in un modo semplice per analizzarli in JavaScript. Codice
MENO:
div#colorChart-critical {
content:'@{critical-highest},@{critical-veryhigh},@{critical-high},@{critical-low},@{critical-medium},@{critical-verylow}';
}
che una volta compilato porta il seguente CSS:
div#colorChart-critical6 {
content: '#ff0000,#ff7200,#fffc00,#0000ff,#a200ff,#00ff00';
}
poi cerco di leggerli utilizzando jQuery:
$("div#colorChart-critical").css("content").split(",");
Il problema è che in IE9 chiamando $("div#colorChart-critical").css("content")
restituisce la stringa "normal"
per qualche motivo. Opera, Firefox, Safari e Chrome funzionano bene.
Perché questo accade in IE9?
Qualche soluzione a questo problema su IE9? Se non ci sono altri codici CSS, posso inserire dei testi a caso?
potrei usare qualcosa di simile a:
background: url(#ff0000,#ff7200,#fffc00,#0000ff,#a200ff,#00ff00);
ma questo sarebbe generare errori sulla console.
approccio molto interessante, ma non posso fare a meno di pensare che i CSS non è solo pensato per questo genere di cose . Ad ogni modo puoi semplicemente adottare un approccio diverso? –
Non credo che sia possibile leggere in modo affidabile i valori CSS in questo modo. Il browser analizza prima il foglio di stile e può rimuovere/modificare i valori a sua discrezione. Se non altro, non è garantito che alcune funzionalità su cui si basa non cambieranno in un aggiornamento successivo. –
@ZachL In effetti non è pensato per fare cose come questa. Voglio farlo in questo modo perché il mio codice LESS genera più skin per il mio sito Web, quindi non è pratico avere i colori impostati manualmente nel javascript. – Hoffmann