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

  • Matthew Pearce

    Matthew Pear

    9 AĞUSTOS 2009
  • Motor Trend Channel

    Motor Trend

    11 Mart 2006
  • YAN TV

    YAN TV

    20 EKİM 2011