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

  • Cole Rolland

    Cole Rolland

    23 Kasım 2008
  • Manuel Vizcaino

    Manuel Vizca

    27 Mayıs 2008
  • Metheud

    Metheud

    9 EYLÜL 2006