SORU
7 Mart 2009, CUMARTESİ


Nasıl bir css sınıf kuralları jQuery kullanarak değiştirebilir miyim?

Herhangi biri bana lütfen yardımcı olabilir, sorumun iki bölüm var.

  1. Yapmak istediğim şey anında css sınıf kuralları jQuery kullanarak değişiyor.

    .classname{color:red; font-size:14px;}

    Bir sınıf .classname adlı şimdi jQuery kullanıyorum yukarıdaki örnekte yazı tipi boyutunu değil, sadece renk css satır içi ekleyerek .classname ile değiştirmek istiyorum.

  2. Oluşturmak ve bir dosya ya da tam bir stil dosyası olarak kaydetmek olacak classnames olacak hiç hatırlamak .classname değişikliği kaydetmek istiyorum.

Nasıl yapabilirim bu en kolay ve iyi yolu?

Teşekkürler!

CEVAP
7 Mart 2009, CUMARTESİ


Bildiğim kadarıyla jQuery yolu bunu yapmak için vardır. Bazı jQuery bunun için eklenti olabilir ama bilmiyorum.

İlk sorunuzu ulaşmak için çalışıyoruz ne temelde, document nesne styleSheets özelliğini kullanarak mümkündür. Oldukça derin bir nesne zinciri için yürümelisin olarak biraz daha karmaşık, ama yine de Internet Explorer 6 dahil olmak üzere tüm büyük tarayıcılarda çalışır. Aşağıda bir kanıtı. CSS içinde STYLE etiketi, ama harici CSS ile olduğu gibi iyi çalışır. Size soyut yapmana izin vereceğim.

Kavram kanıtı

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="imagetoolbar" content="false">
<meta http-equiv="imagetoolbar" content="no">
<style type="text/css">
.classname {
 color: red;
 font-size: 14px;
}
</style>
<script type="text/javascript">
window.onload = function() {
    document.getElementById("button").onclick = function() {
        var ss = document.styleSheets;

        for (var i=0; i<ss.length; i  ) {
            var rules = ss[i].cssRules || ss[i].rules;

            for (var j=0; j<rules.length; j  ) {
                if (rules[j].selectorText === ".classname") {
                    rules[j].style.color = "green";
                }
            }
        }
    };
}
</script>
</head>
<body>

<h1 class="classname">Some red text</h1>

<button id="button">Make text green</button>

</body>
</html>

Senin ikinci soru, vaktim yok yazmak bir çözüm ama bence dahil okuma CSS bildirimleri gibi yukarıda ve kullanım cssText tesis CssRule nesne için inşa bir dize olacak sonunda gönderilen sunucu kullanarak bir Ajax POST isteği. Sunucu tarafı senin bileceğin iş.

Referanslar:

Umarım yardımcı olur

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Associated Press

    Associated P

    18 EYLÜL 2006
  • FattySpins's channel

    FattySpins's

    17 Mayıs 2009
  • Kim Barbin

    Kim Barbin

    3 Mayıs 2012