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

  • failblog

    failblog

    17 HAZİRAN 2008
  • sknbp

    sknbp

    16 Kasım 2006
  • Tinkernut

    Tinkernut

    28 Aralık 2006