Så här ser div-koden ut. När man klickar på en länk anropas en javascript funktion som ska till att börja med 'alerta' display deklarationen för den valda diven. Problemet är att enligt Javascriptet så finns det ingen display attribut deklarerad för left och right diven.
Det är riktigt. Enligt DOM är display ingenting när det är synligt och "none" när det är osynligt.
function hide(menuId){
var menu = document.getElementById(menuId);
alert(menu.style.display);
if(menu.style.display=="none"){
menu.style.display="";
}
else{
menu.style.display="none";
}
}
Om jag deklarerar display: block i css-filen så får jag bara en tom alert-ruta när jag försöker visa värdet som display attributet har.
Om jag däremot definerar style attributet direkt i div-taggen så står det "block" i alert-rutan.
Det var det jag tyckte var konstigt. Det ska väl inte finnas någon skillnad mellan style-attributet som defineras dirrekt i taggen och externa css-definitionerna.
Samma gäller för margin t ex. Om du ska hämta margin som defineras externt så går det inte. Är inte det konstigt?
Nu är ju inte detta något stor problem men irriterande är det iaf.
Så är det och det är helt värdelöst, men det finns säkert en logisk orsak till varför det är så. Du kan undkomma detta genom att skriva style-taggar till de element som är inblandade, eller så använder du currentStyle-objektet som fungerar i Internet Explorer. Huruvida det finns någon motsvarighet till objektet i de andra webläsarna vet jag inte.
252 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2