Fare riferimento a this fiddle che illustra il problema.getComputedStyle() e cssText in IE e Firefox
Sto cercando di ottenere la proprietà di un cssText
<div>
via window.getComputedStyle(element)
(which returns a CSSStyleDeclaration object). Funziona perfettamente in Chrome (versione appena uscita dai repository), ma non funziona in Firefox, IE10 e IE11. In realtà, cssText
è una proprietà sull'oggetto restituito, è solo una stringa vuota.
Potrebbe non funzionare nelle versioni precedenti di IE ma non l'ho provato in quelle versioni. Non riesco a trovare alcun riferimento a questo in particolare non funziona nelle versioni recenti di IE. In realtà Microsoft's documentation mi ha portato a credere che DOVREBBE funzionare quando in realtà non lo fa ("Imposta o recupera la rappresentazione persistente della regola di stile"). Sto provando una piccola anatra di gomma per eseguire il debug qui per vedere se c'è qualcosa di ovvio che ho perso, o forse è il VM images che sto usando per testare il codice su IE. Che cosa sto facendo di sbagliato? Grazie!
EDIT: Quello che sto cercando in particolare è un modo per ottenere un elenco di stili corrente applicata ad un elemento, come accade quando ottenere cssText
dall'oggetto restituito da getComputedStyle()
in Chrome, ma che non avviene in Firefox o IE. Per chiarire, appare usando la proprietà style.cssText
di un elemento in IE recupera un elenco di stili applicati a un elemento tramite fogli di stile, tag di stile e regole di stile inline, ma NON stili che sono stati applicati programmaticamente tramite script. Questo può essere dovuto alla progettazione e come previsto, ma: Come posso replicare il comportamento visto quando si utilizza cssText
da un oggetto CSSStyleDeclaration in Chrome (come restituito da getComputedStyle()
), ma in Internet Explorer e Firefox?
Quindi stai dicendo che 'di proprietà cssText' dell'oggetto CSSStyleDeclaration restituito da' getComputedStyle() 'offre solo gli stili che sono state applicate a causa di fogli di stile e tag di stile, ma non per script di esempio che cambiano dell'elemento stile? Posso salire a bordo con quello. Tuttavia, l'uso di 'element.style.cssText' non mi dà dati reali (cioè è ancora una stringa vuota) quando provo a recuperare gli stili correnti applicati a un elemento. Come posso replicare questo comportamento desiderato in IE, cioè ottenere una stringa contenente tutti gli stili attualmente applicati, indipendentemente dalla loro origine? – L0j1k
In realtà, se quello che hai descritto su 'getComputedStyle()' fosse vero, IE dovrebbe mettere SOMETHING all'interno del div 'fooText' nel fiddle che ho linkato nella mia domanda, ma non è questo il caso. La proprietà 'cssText' non contiene dati, inclusi gli stili applicati tramite il foglio di stile, a meno che non mi sbagli sul modo in cui JSFiddle include gli stili. – L0j1k
Vedo risposte vuote sia per Firefox che per IE. Puoi ricontrollare Firefox, @ Loj1k? [Ho creato anche un test] (http://jsfiddle.net/jonathansampson/008hmbLu/show/), ma non trovo che Firefox passi. – Sampson