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

  • ASUS North America

    ASUS North A

    12 AĞUSTOS 2008
  • Kanaal van Dj0fifty

    Kanaal van D

    28 EKİM 2011
  • merumputdotcom

    merumputdotc

    24 ŞUBAT 2012