Avatar billede bennybit Nybegynder
03. oktober 2000 - 09:24 Der er 13 kommentarer og
2 løsninger

Brug af CLASS via et javascript

Hvordan for jeg fortalt mit script nedenfor, at jeg ønsker at de anker-koder som det genererer skal påvirkes af fx CLASS=\"bookmark\" - så det svarer til <A HREF=\"#henvisning_et_eller_andet\" CLASS=\"bookmark\">noget tekst</A>

Script-kode:
--------------------------------------------

function w(tekst){
document.write(tekst)
}

function oversigt(){
if(document.anchors.length > 0){
  w(\"</TD><TD VALIGN=Top NOWRAP>\")
  w(\"<H3>Denne sides bogmærker:</H3>\")
  for(i=0; i < document.anchors.length; i++){
  henvisning = document.anchors[i].name
  w(henvisning.link(\"#\" + henvisning))
  w(\"<BR>\")
  }
}
}
--------------------------------------------

Avatar billede geeeet Nybegynder
03. oktober 2000 - 09:32 #1
w(\"</TD><TD VALIGN=Top class=bookmark NOWRAP>\")

...burde virke...

/Geeeet
Avatar billede erikjacobsen Ekspert
03. oktober 2000 - 09:54 #2
Jeg tror han mener, at det aktuelle class-name i hvert anchor skal aflæses,
og sættes ind i oversigten. Det kan man også i IE4+ og NS6+, men ikke i NS4.7-

  function oversigt(){
    if(document.anchors.length > 0){
      w(\"</TD><TD VALIGN=Top NOWRAP>\");
      w(\"<H3>Denne sides bogmærker:</H3>\");
      for(i=0; i < document.anchors.length; i++){
        henvisning = document.anchors[i].name;
        cll = document.anchors[i].className;
        w(\'<a href=\"#\'+henvisning+\'\" class=\"\'+cll+\'\">\'+henvisning+\'</a>\');
        w(\"<BR>\");
      }
    }
  }
Avatar billede geeeet Nybegynder
03. oktober 2000 - 09:58 #3
Evt. kan man sætte et style manuelt, som er magen til dit class-tag, da det også vil fungere i netscape 4.x

/Geeeet

Avatar billede bennybit Nybegynder
03. oktober 2000 - 10:17 #4
=> Geeeet:

Mener altså at have prøvet dette, men må på den igen!

Jeg ved dog med sikkerhed, at jeg forsøgte med:

function oversigt(){
if(document.anchors.length > 0){
  w(\"</TD><TD VALIGN=Top NOWRAP>\")
  w(\"<H3>Denne sides bogmærker:</H3>\")
w(\"<DIV CLASS=bookmark>\")
  for(i=0; i < document.anchors.length; i++){
  henvisning = document.anchors[i].name
  w(henvisning.link(\"#\" + henvisning))
  w(\"<BR>\")
  }
w(\"</DIV>\")
}
}

Skulle det ikke give samme resultat, som du foreslår?
Avatar billede geeeet Nybegynder
03. oktober 2000 - 10:20 #5
Jo, div class=bookmark burde faktisk fungere fint...

/Geeeet
Avatar billede bennybit Nybegynder
03. oktober 2000 - 10:33 #6
=> erikjacobseb:

Det var ikke det at aflæse klassenavnet, men at sætte det.

Men dit svar er da 200% brugbart, for jeg kan jo bare droppe \"henvisning.link...\" og i stedet \"stemple\" ankrene ind med
w(\'<a href=\"#\'+henvisning+\'\" class=\"bookmark\">\'+henvisning+\'</a>\').

Det må afprøves senere på dagen (sidder ikke ved hjemme-pc\'en nu).

NB! Kan man ikke direkte i js-koden gøre det samme (nu gætter jeg bare...) med:

document.anchors[i].className = \"bookmark\"
 
       
Avatar billede bennybit Nybegynder
03. oktober 2000 - 10:52 #7
=> Geeeet:

Hvis det med

w(\"<DIV CLASS=bookmark>\")
...
w(\"</DIV>\")

eller det med

w(\"</TD><TD VALIGN=Top class=bookmark NOWRAP>\")

ikke virker, kan det så skyldes, at de oprindelige css-regler for <A>-tags slår hårdest igennem?

Hvis ja, hvad gør jeg så?
Avatar billede geeeet Nybegynder
03. oktober 2000 - 10:57 #8
Jeg ved faktisk ikke om det globale a-tag overtager, men hvis det gør, kan du sætte din style direkte på linket:

<a style=\"text-decoration:none;\" href=\"link1.html\">tekst</a>

Der burde du også kunne sætte color..

Andet alternativ er at embedde en .css fil i laget, som så vil indeholde de korekte oplysninger, som kun vil blive brugt i det lag:

<link rel=\"stylesheet\" type=\"text/css\" href=\"../css/style_menu_nn.css\">

/Geeeet
Avatar billede bennybit Nybegynder
03. oktober 2000 - 11:03 #9
=> Geeeet:

Ok, jeg er med. Men det så noget i stil med det jeg selv kommenterer til ericjacobsen, hvor jeg \"stempler\" class=\'bookmark\' ind i <A>-tagget.
Avatar billede geeeet Nybegynder
03. oktober 2000 - 11:04 #10
jeps :-)

/Geeeet
Avatar billede erikjacobsen Ekspert
03. oktober 2000 - 14:20 #11
OK, simplere end jeg troede  ;-)  Det jeg foreslog kan selvfølgelig være smart i anden
sammenhæng.
Avatar billede bennybit Nybegynder
03. oktober 2000 - 14:25 #12
=> erikjacobsen:

Hej igen:

Nemlig, men havde du ellers et bud på:

\"NB! Kan man ikke direkte i js-koden gøre det samme (nu gætter jeg bare...)- noget i stil med:

document.anchors[i].className = \"bookmark\"
Avatar billede erikjacobsen Ekspert
03. oktober 2000 - 14:34 #13
Jeg ved et  det ikke uden at prøve, men ser ikke nogen grund til det, når du alligevel
genererer et <a>-tag. Du udelukker blot browsere, der ikke understøtter className.
Avatar billede bennybit Nybegynder
03. oktober 2000 - 14:39 #14
=> erikjacobsen:

Tak og ok, det er da så nok det sikreste fremover!

NB!
Vidste ikke det med manglende browser-understøttelse af \"className\".
Avatar billede bennybit Nybegynder
03. oktober 2000 - 20:48 #15
=> Geeeet + erikjacobsen:

Jeg deler 50-50; I har begge hjulpet mig på rette vej med jeres gode indslag - ok!

1000 tak for jeres håndsrækning!

LØSNING:
Jeg måtte oprette en .special-ankerklasse, som jeg dernæst \"stemplede\" som class=\'special\' ned i <A>-taget.
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