SORU
16 NİSAN 2009, PERŞEMBE


JQuery tüm CSS stilleri bir öğe ile ilişkili olabilir mi?

Bir WordPress kullanmak içinde bir yol, var olan bir öğeden tüm CSS ve onları tüm liste olmadan başka uygulamak için var mı?

attr() ile bir style özniteliği olsaydı işe yarayacağını biliyorum ama benim stilleri harici bir stil sayfası.

CEVAP
29 NİSAN 2011, Cuma


Bir kaç yıl geç, ama burada satır içi stil ve dış tasarım hem de alan bir çözümdür:

function css(a) {
    var sheets = document.styleSheets, o = {};
    for (var i in sheets) {
        var rules = sheets[i].rules || sheets[i].cssRules;
        for (var r in rules) {
            if (a.is(rules[r].selectorText)) {
                o = $.extend(o, css2json(rules[r].style), css2json(a.attr('style')));
            }
        }
    }
    return o;
}

function css2json(css) {
    var s = {};
    if (!css) return s;
    if (css instanceof CSSStyleDeclaration) {
        for (var i in css) {
            if ((css[i]).toLowerCase) {
                s[(css[i]).toLowerCase()] = (css[css[i]]);
            }
        }
    } else if (typeof css == "string") {
        css = css.split("; ");
        for (var i in css) {
            var l = css[i].split(": ");
            s[l[0].toLowerCase()] = (l[1]);
        }
    }
    return s;
}

css() içine bir WordPress kullanmak bir nesne geçmek ve sonra geri jQuery içine $().css(), örn: takabilirsiniz olan bir nesne döndürür

var style = css($("#elementToGetAllCSS"));
$("#elementToPutStyleInto").css(style);

:)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Palmundo Ec

    Palmundo Ec

    11 HAZİRAN 2009
  • Videogamerz | Call of Duty

    Videogamerz

    5 NİSAN 2012
  • whatever

    whatever

    30 EYLÜL 2005