Struppi: Ich verzweifle

Beitrag lesen

über divid kommt ne id für den css-namen. Er kommt auch richtig an. Hab das mal mit alert ausgeben lassen. Jetzt sagt mir die JavaScript-Konsole aber: browserstyle.visibility has no properties

Wieso????

Weil browserstyle nur ein String ist.

Probier mal das folgende, sollte in den meisten Browsern funktionieren:

////////////////////////////////////////////////////////////
// setVis
function setVis(id, mode)
{
    var obj = getById(id);
    if(!obj) return null;
    if(document.layers)
    {
         var vis = mode ? 'show' : 'hidden';
         obj['visibility'] = vis;
         return obj['visibility'];
    }
    var vis = mode ? 'visible' : 'hidden';
    return obj.style['visibility'] =  vis;
}
///////////////////////////////////////////////////////////
// getById(id [, win])

function getById(id, win)
{
    var doc = window.document;
    if(win) doc = win.document;

if(typeof id == 'undefined') return null;

var obj = null;
    if(document.getElementById) obj = doc.getElementById(id);
    else if(document.layers) obj = _findObj_(id, doc);
    else if(document.all) obj = doc.all[id];

return obj;
}
////////////////////////////////////////////////////////////
// Nur für den NC 4.x um Layer zu finden.

function _findObj_(n, doc)
{
    if(doc[n]) return doc[n];

for(var i = 0; i < doc.layers.length; i++)
    {
         if(typeof doc.layers[i].document != 'undefined')
         {
              var obj = _findObj_(n, doc.layers[i].document);
              if(obj) return obj;
         }
    }
    return null;
}