2013-04-19 13 views
6

Po prostu chcę czegoś, co zajmie tekst w pełnym CSS i zamieni go w JSON przy użyciu metody CSS JSON.Podzielić tekst CSS na JSON z Javascriptem

{ 
    "selector-1":{ 
     "property-1":"value-1", 
     "property-n":"value-n" 
    } 
} 

http://www.featureblend.com/css-json.html

Czy ktoś wie o czymś, co będzie dekodować CSS do JSON? Byłoby również pomocne, gdyby mógł je również zakodować.

+0

Nie znam żadnych gotowych rozwiązanie, ale nie byłoby zbyt trudno coś zrobić (szczególnie jeśli CSS jest już analizowany przez przeglądarkę). –

+0

To naprawdę nie jest coś, co chciałem podjąć. IE: radzenie sobie z tagami tła VS background-image Miałem nadzieję, że ktoś już rozwiązał te problemy, aby zaoszczędzić dużo czasu. – Iscariot

Odpowiedz

6

Ten parser js ma obie metody, których szukasz.

CSS JSON parser

// To JSON 
var json = CSSJSON.toJSON(cssString); 

// To CSS 
var css = CSSJSON.toCSS(jsonObject); 

Albo jQuery plugin parsera.

jQuery parser

Przykład CSS:

div div:first { 
    font-weight: bold; 
    -jquery: each(function() {alert(this.tagName);}) 
} 

div > span { 
    color: red; 
} 

wyjście JSON wysłany do callback:

{ 
    'div div:first' : { 
    'font-weight' : 'bold', 
    '-jquery': 'each(function() {alert(this.tagName);})' 
    }, 
    'div > span' : { 
    'color': 'red' 
    } 
} 

można zastosować css ciąg do elementu jak poniżej:

var cssJSON = '{ "display": "none" }'; 
var obj = JSON.parse(json); 

$("#element").css(obj); 
+0

Ty jesteś piękny. – Iscariot

+0

Szukałem niestrudzenie, aby znaleźć coś takiego, a ja mogłem wymyślić tylko koję. Dziękuję Ci. – Iscariot

+0

Bez problemu. Cieszę się, że to pomogło. –