Avatar billede th1 Nybegynder
21. november 2007 - 17:25 Der er 12 kommentarer og
1 løsning

Få ID af den valgte DIV

Hejsa jeg har 30 div som jeg kan klikke på via en JavaScript Funktion.

Mit problem er at jeg gerne vil kunne få det valgte DIV id nogen der hvordan man gør det.

Jeg har prøvet med GetElementById men det virker kun hvis jeg selv skriver id på en div ellers virker det ikke.


På forhånd tak.
Avatar billede barklund Nybegynder
21. november 2007 - 17:27 #1
Show me the code!
Avatar billede w13 Novice
21. november 2007 - 17:27 #2
Skal det være, når du klikker på den?

<div onclick="alert(this.getAttribute('id'))">Hello world</div>

Men hvis det er til en funktion, er det meget bedre bare at overføre "this":

<div onclick="func(this)">Hello world</div>

Og så kan du i funktionen arbejde med elementet sådan her:

function func(obj){
  obj.gørnoget;
}
Avatar billede w13 Novice
21. november 2007 - 17:27 #3
Er der i øvrigt id's på alle dine Div?
Avatar billede th1 Nybegynder
21. november 2007 - 17:32 #4
ja der er id på alle mine diver
Avatar billede th1 Nybegynder
21. november 2007 - 17:38 #5
ja den skal hente id'et når jeg klikker på en af mine diver
Avatar billede w13 Novice
21. november 2007 - 17:49 #6
Så brug min kode. =)

onclick="alert(this.getAttribute('id'))"

Nu skal du måske nok ikke bruge alert, men jeg tror, du forstår. Du bruger altså bare .getAttribute('id')
Avatar billede th1 Nybegynder
21. november 2007 - 19:32 #7
jeg forstår ikke helt hvordan man kan bruge den. :S kan du ikke vise mig et hurtig eksempel??
Avatar billede th1 Nybegynder
21. november 2007 - 19:44 #8
indtil videre har jeg det her i min onclick på diven: onclick="java script:showMe(this.getAttribute('id'));


og selve functionen har jeg her


function showMe(this.getAttribute('id')){
if (isIE||isNN) whichDog.style.visibility="visible";
else if (isN4) document.theLayer.visibility="show";


document.getElementById('lblDateToShow').innerHTML = this.getAttribute('id').value;
}
document.onmousedown=ddInit;
document.onmouseup=Function("ddEnabled=false");
Avatar billede w13 Novice
21. november 2007 - 19:54 #9
Ret din onclick til dette:
--------------------------
onclick="showMe(this)"
--------------------------
Og funktionen skal være:
---------------------------------
function showMe(obj){
  obj.style.display="inline";
  document.getElementById('lblDateToShow').innerHTML = obj.value;
}
document.onmousedown=ddInit;
document.onmouseup=Function("ddEnabled=false");
Avatar billede w13 Novice
21. november 2007 - 19:56 #10
Bemærk hvordan du ikke behøver "java script:" inde i onclick, da en onclick som standard _er_ JavaScript.
Og bemærk også, at jeg slet ikke henter "id". Jeg bruger bare "this", så ved den hvilket element, jeg har fat i.

Og så har jeg rettet visibility til display, så du ikke behøver at tjekke for browserversion, da display virker i alle.
Avatar billede th1 Nybegynder
21. november 2007 - 20:12 #11
mange tak det virker nu. Men jeg ændrede value til id fordi jeg har jo ingen value i mine diver da jeg kun har givet dem id
Avatar billede th1 Nybegynder
21. november 2007 - 20:12 #12
acc
Avatar billede w13 Novice
21. november 2007 - 20:16 #13
Okidoke! Og tak for point!
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