Avatar billede sbpweb.dk Nybegynder
30. oktober 2006 - 11:12 Der er 12 kommentarer

Skjul tomt link

Jeg skal bruge et javascript der, når siden loades, tjekker om værdien af "href" i et bestemt link er lig med "java script:void(0);" og i så fald skjule det.
Avatar billede olebole Juniormester
30. oktober 2006 - 11:31 #1
<ole>

Hvorfor bruge JavaScript psudo-protokollen på den måde? Det er ret misforstået  :)
I stedet kan du blot returnere false i onclick-handler'en:
    <a href="#" onclick="alert('Bare et eksempel på en funktion');return false">LINK</a>

Derudover er det nok en god idé at forklare lidt tydeligere, hvad det er, du gerne vil - og hvornår  :)

/mvh
</bole>
Avatar billede sbpweb.dk Nybegynder
30. oktober 2006 - 11:45 #2
Det jeg har skrevet, er det jeg vil...
Jeg bruger et CMS-system, og kan derfor ikke forhindre at "java script:void(0);" bliver indsat som href i links der er "tomme".
Det jeg vil, er derfor at skjule links der har "java script:void(0);" som href, da jeg ikke vil have links, som brugeren klikker på uden der sker noget.
Jeg skal derfor bruge et javascript der tjekker indholdet af href i et link med et bestemt id/name. Og i tilfælde at href="java script:void(0);" så skal linket skjules. Og når jeg siger skjules, men jeg ligesom når man bruger display: hidden; i CSS.
Avatar billede olebole Juniormester
30. oktober 2006 - 12:37 #3
Jeg forstår stadig ikke. Hvorfor sætter CMS'et dog links ind, der ikke har nogen effekt?

<script type="text/JavaScript">
window.onload = function() {
    var a = document.getElementsByTagName("a");
    for (var i=0,j=a.length; i<j; i++) {
        if (a[i].href.toLowerCase().indexOf("java script:void(0)")!=-1) a[i].style.display = "none";
    }
}
</script>
Avatar billede olebole Juniormester
30. oktober 2006 - 12:38 #4
ups:

<script type="text/JavaScript">
window.onload = function() {
    var a = document.getElementsByTagName("a");
    for (var i=0,j=a.length; i<j; i++) {
        if (a[i].href.toLowerCase().indexOf("java script:void(0)")==-1) a[i].style.display = "none";
    }
}
</script>
Avatar billede sbpweb.dk Nybegynder
30. oktober 2006 - 15:01 #5
Ja, det kan man jo spørge om...

Men din løsning virker! Med en lille tilretning...
Jeg skal skrive 0 i stedet for -1.

Kan jeg snævre det ind på et link jeg har givet et id der hedder "bookpagelink"?
Avatar billede olebole Juniormester
30. oktober 2006 - 15:06 #6
Nej, der skal stå -1 ... men du skal bruge den første version af scriptet  ;o)

Et enkelt link med kendt ID kan du gøre sådan med:
    document.getElementById("bookpagelink").style.display = "none";
Avatar billede sbpweb.dk Nybegynder
30. oktober 2006 - 15:15 #7
Altså sådan her:

<script type="text/JavaScript">
window.onload = function() {
    var a = document.getElementById("bookpagelink").style.display = "none";
    for (var i=0,j=a.length; i<j; i++) {
        if (a[i].href.toLowerCase().indexOf("java script:void(0)")!=-1) a[i].style.display = "none";
    }
}
</script>
Avatar billede sbpweb.dk Nybegynder
30. oktober 2006 - 15:16 #8
Nej, det virker ikke...
Avatar billede sbpweb.dk Nybegynder
30. oktober 2006 - 15:16 #9
Kan du smide hele koden for et link med kendt ID? Jeg er ikke nogen Javascript-haj
Avatar billede olebole Juniormester
30. oktober 2006 - 15:18 #10
<script type="text/JavaScript">
window.onload = function() {
    document.getElementById("bookpagelink").style.display = "none";
}
</script>
Avatar billede sbpweb.dk Nybegynder
30. oktober 2006 - 15:18 #11
Ja, men så skjules linket jo selvom det ikke er tomt!
Avatar billede sbpweb.dk Nybegynder
30. oktober 2006 - 15:22 #12
Har fundet en løsning. Tak for hjælpen! Smider du et svar, så du kan få 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