Avatar billede jacobve Nybegynder
16. september 2001 - 15:24 Der er 13 kommentarer og
1 løsning

Style.visibility problemer.

jeg har et div der har id=\"nr1\" og class=\"svar\"

så vil jeg lige teste min visibility i IE6 ved denne lille alert.

alert(\'værdi af visibility:\' +eval(document.all.nr0.style.position));

\'men den skriver værdi af visibility:undefined\'

det er på trods af at jeg har lavet en:

div.svar
{
    position: relative;
    background-color: #6699cc;
    color: #FFFFFF;
    visibility: visible;
}
så visibility skulle være defineret.

hvad hulen gør jeg galt?

Avatar billede jacobve Nybegynder
16. september 2001 - 15:26 #1
hov, der skulle selvfølgelig stå:

alert(\'værdi af visibility:\' +eval(document.all.nr0.style.visibility));
Avatar billede jacobve Nybegynder
16. september 2001 - 15:26 #2
og igen... nr1 istedet for nr0 ...sorry for alle de fejl.
Avatar billede olebole Juniormester
16. september 2001 - 15:27 #3
<ole>

  alert(\'værdi af visibility:\' + document.getElementById(\"nr0\").style.position);

/mvh
</bole>
Avatar billede olebole Juniormester
16. september 2001 - 15:28 #4
    alert(\'værdi af visibility:\' + document.getElementById(\"nr0\").style.visibility);
....selvfølgelig  =o)
Avatar billede jacobve Nybegynder
16. september 2001 - 15:28 #5
det har jeg også været ude i...

men den skriver så slet ikke noget... andet end.

\'værdi af visibility:\'
Avatar billede olebole Juniormester
16. september 2001 - 15:34 #6
Du kalder på denne måde:
ns4: document.layers[\"nr0\"].visibility;  - eller: document.nr0.visibility; 
ie4: document.all[\"nr0\"].style.visibility;  - eller: document.nr0.style.visibility;
ie5 og ns6: document.getElementById(\"nr0\").style.visibility;

I ie5 er document.all bevaret for bagudkompatibilitet.
document.getElementById er i overensstemmelse med W3C\'s internationale standard, som også understøttes af andre browsere. De andre er fra før, der eksisterede en standard for området.
/mvh
Avatar billede olebole Juniormester
16. september 2001 - 15:40 #7
  <a href=\"#\" onclick=\"alert(\'værdi af visibility:\' + document.getElementById(\'nr0\').style.visibility);\">test</a>
Pas på, hvis du har dobbelte gåseøjne inde i dobbelte gåseøjne  ;o)
/mvh
Avatar billede jacobve Nybegynder
16. september 2001 - 15:45 #8
jeg forstår det simpelthen ikke.. det virker heller ikke...

der må være en fejl et andet sted:

smider lige noget mere op.

prøver nu med nedenstående i IE6:
<a href=\"#\" onclick=\"alert(\'værdi af visibility:\' + document.getElementById(\'nr0\').style.visibility);\">test</a>

mine divs:
<div id=\"nr0\" class=\"spg\"><img src=\"images/space.gif\" height=\"9\" width=\"1\" alt=\"\"><img src=\"images/minus.gif\" height=\"9\" width=\"9\" alt=\"ud\" name=\"img0\" onCLick=\"klik(0)\"> sp&oslash;rgsm&aring;l et<input type=\"hidden\" value=\"1\" name=\"debt0\"></div>

<div id=\"nr1\" class=\"svar\"><img src=\"images/space.gif\" height=\"9\" width=\"21\" alt=\"\"><img src=\"images/minus.gif\" height=\"9\" width=\"9\" alt=\"ud\" name=\"img1\" onCLick=\"klik(1)\"> svar et<input type=\"hidden\" value=\"2\" name=\"debt1\"></div>

CSS:
div.spg
{
    position: relative;
    background-color: #336699;
    color: #FFFFFF;
    z-index: 2;
    visibility: visible;
}
div.svar
{
    position: relative;
    background-color: #6699cc;
    color: #FFFFFF;
    visibility: visible;
}

men det resultere i at der ikke skrives andet end:
\'værdi af visibility:\'.

???
Avatar billede jacobve Nybegynder
16. september 2001 - 15:46 #9
tag dig ikke af onClick=klik(0).

den indeholder:

function klik(id)
{
  alert(\'værdi af visibility:\' +eval(document.all.nr1.style.visibility));
}
Avatar billede olebole Juniormester
16. september 2001 - 15:55 #10
jacobve >> Problemet er, at han skriver sådan:
    <a href=\"#\" onclick=\"alert(\'værdi af visibility:\' + document.getElementById(\"nr0\").style.visibility);\">test</a>
...og det går jo ikke med den gåseøje fordeling.
/mvh
Avatar billede jacobve Nybegynder
16. september 2001 - 16:04 #11
nu har jeg prøvet med noget så simpelt som dette (burde det være):

<!doctype html public \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html>
<head>
<title> New Document </title>
<style>
.t
{
    visibility: visible;
}
</style>
</head>

<body>
<div id=\"nr0\" class=\"t\">test</div>

<a href=\"java script:alert(\'værdi af visibility:\' + eval(document.getElementById(\'nr0\').style.visibility));\">test</a>
<a href=\"java script:alert(\'værdi af visibility:\' + document.getElementById(\'nr0\').style.visibility);\">test</a>

</body>
</html>


men heller ikke dette virker... har det noget at gøre med de \" inde i \"?

har du mulighed for at lave et eksempel ala dette, som så virker? så jeg har noget at gå ud fra?

Avatar billede olebole Juniormester
16. september 2001 - 16:14 #12
Der er ikke på objektets style-object sat en property, der hedder \'visibility\'. Der er sat en klasse, der hedder \'t\', hvori \'visibility\' er defineret. Det er ikke det samme.
Enten skal den være sat inline - eller med JavaScript - før den kan aftastes med JavaScript.
/mvh
Avatar billede jacobve Nybegynder
16. september 2001 - 16:18 #13
ved du hvad... så har jeg sku også lært noget idag :-)
det var lige det.
Jeg troede det var nok at give den en værdi i en class, som den så arvede fra. men det var det ikke.

så går jeg udfra det gælder alle andre style attributter man vil aflæse.

jeg takker og bukker.

Avatar billede olebole Juniormester
16. september 2001 - 16:20 #14
Ikke engang:

<style>
#nr0 {
    visibility: visible;
}
</style>

...kan gøre det  :(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester