Avatar billede mac10 Nybegynder
28. april 2008 - 09:32 Der er 8 kommentarer og
1 løsning

getElementById i <a href>

Hej alle

Jeg er ikke så god til javascript så googler normalt mine svar, men kan ikke lige finde svar på dette.

jeg har følgende kode:

document.getElementById('myID').innerText = data.id;

Hvis jeg skriver <div id="myID"></div> så skriver den teksten ud, men jeg vil gerne have den i et link.

<a href="myID">text</a>

Ved ikke om det skal være innerText eller hvordan man får dette til at virke?
Avatar billede w13 Novice
28. april 2008 - 09:37 #1
innerText skal man passe meget på med at bruge.

Jeg ville gøre det sådan her crossbrowser:

var newElement=document.createElement("a");
newElement.setAttribute("href","http//www.myID.dk"); //Hvad vil du have indsat i href'en?
newElement.appendChild(document.createTextNode(data.id));
document.getElementById('myID').appendChild(newElement);
newElement=null;
Avatar billede mac10 Nybegynder
28. april 2008 - 09:40 #2
I href skal jeg have følgende:

www.domæne.dk/fil.php?id=myID

Det eneste jeg skal hente ud er myID i en href, troede det var mere simpelt :)
Avatar billede w13 Novice
28. april 2008 - 09:43 #3
Det kan blive mere simpelt med innerHTML, men dette her er den rigtigste måde at gøre det på, hvor man opretter de forskellige dele som objekter.

Så skriver du bare:

var newElement=document.createElement("a");
newElement.setAttribute("href","/fil.php?id=myID"); //Hvad vil du have indsat i href'en?
newElement.appendChild(document.createTextNode(data.id));
document.getElementById('myID').appendChild(newElement);
newElement=null;
Avatar billede w13 Novice
28. april 2008 - 09:43 #4
Eller du mener måske:

var newElement=document.createElement("a");
newElement.setAttribute("href","/fil.php?id="+data.id);
newElement.appendChild(document.createTextNode(data.id));
document.getElementById("myID").appendChild(newElement);
newElement=null;
Avatar billede mac10 Nybegynder
28. april 2008 - 09:44 #5
Okay, hvordan skriver jeg det så ud i <a href="">? (Sorry, men begrænset javascript viden)
Avatar billede w13 Novice
28. april 2008 - 09:45 #6
Min kode indsætter følgende i div'en "myID":

<a href="/fil.php?id=xxxx">xxxx</a>
Avatar billede w13 Novice
28. april 2008 - 09:46 #7
Men det kan blive simplere, hvis du erstatter div'en:

<div id="myID"></div>

med:

<a id="myID"></a>

Så kan du bruge koden:

document.getElementById("myID").setAttribute("href","/fil.php?id="+data.id);
document.getElementById("myID").appendChild(document.createTextNode(data.id));
Avatar billede mac10 Nybegynder
28. april 2008 - 09:56 #8
Mange tak :)
Avatar billede w13 Novice
28. april 2008 - 10:00 #9
;)
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