2016-02-12 16 views
5

Ogni volta che aggiungo css in linea con jQuery cambierà anche il formato del css in linea che è già lì. Per esempio se ho un immagine di sfondo senza virgolette nella URL e io aggiungere qualcosa di simileEvita le doppie virgolette in jQuery in linea css

$('.element').css('padding', '10px'); 

sarà ri-formattare la linea completa css. (anche per esempio background-color: #ffffff; trasferimenti -.>background-color: rgb(255,255,255);

Ecco un piccolo violino https://jsfiddle.net/chickberger/ppas2zrh/1/

Iam indovinare che questo è solo l'jQuery/sintassi javscript che viene applicato ai stili inline Se questo è il caso. c'è qualche possibilità per evitare questo? il mio problema principale sono le virgolette sulla URL immagine di sfondo.

+1

Posso vedere il problema nel JS Fiddle, ma non vedo perché questo è un problema. Sembra che funzioni correttamente (almeno in Chrome). Vuoi approfondire il motivo per cui la riformattazione ti sta causando un problema? Forse potremmo offrire una soluzione. –

+0

se copi il 'outerHTML' negli strumenti di sviluppo, le virgolette attorno all'URL sono in realtà' " ' –

+0

usa lo stile invece di css –

risposta

1

Non è jQuery, è il browser.
Sostituire il codice con $('.style-me')[0].style.padding = '10px' e non cambierà nulla.

Succede in mozilla, non succede in cromo. E non puoi farci niente. Tranne forse fare attributi come

$('.style-me').attr('style', 
    $('.style-me').attr('style') + ';padding:10px' 
) 

che è una cattiva idea.

+0

Thx, funzionante. :) – paperboy

0

Ecco generalmente come attributo modifiche avvengono in jQuery. si riscrive l'attributo sul DOM con questo formato.

È possibile utilizzare le virgolette singole, o sfuggiti citazioni, nella vostra linea di fondo regola CSS

style="background-image: url('single/quotes/around/the/path');" 
Problemi correlati