Struppi: eine eigenschaft einer css-class ausgeben

Beitrag lesen

hi!

also ich will (ganz einfach?) abfragen, welche eigenschaft ein attribut in einer css-class gerade hat.

Das ist nicht einfach und funktioniert nicht in jedem Browser.

So kannst du die Klassen finden:

function classAttr(className, attr, value)
{
    if(!className) return null;
    var rule = getClass(className);
    if(rule == null) return null;
    if(value)    rule.style[attr] = value;
    return rule.style[attr];
}
function getClass(name)
{
     if(!document.styleSheets) return null;
     if(name.indexOf('.') != 0) name = '.' + name;
     for(var i = 0; i < document.styleSheets.length; i++)
     {
         var rules = document.styleSheets[i].rules;
         if(!rules) return null;
         for(var j = 0; j < rules.length; j++)
         {
            if(rules[j].selectorText == name) return rules[j];
         }
     }
     return null;
}

css:

.headadd {
 display: none;
}

wobei <div class="headadd"> in <div class="eintrag"> steht.

dann frag ich das ab:

Display = document.all.headadd.style.getAttribute("display","false");

Das dürfte Phantasiesyntax sein oder wo hast du das her?

und (versuche) es auszugeben mit:

document.write("Display: " + Display);

es zeigt aber nix an!

woran kann das liegen?

Phantasiesyntax?

Struppi.