Det kan gøres på lidt forskellige måder, fx kan du prøve at hente elementerne med document.getElementById("id her"), hvis det returnerer null i stedet for et element er det fordi elementet ikke findes.
Synes godt om
Slettet bruger
05. oktober 2009 - 14:33#2
En rigtig ubehagelig one-liner, også kaldet et quick-'n'-dirty hack:
var element, antal = 0; for (var iii = 1; eval('element = document.getElementById("' + iii + '")'; iii++) {antal++;}
Og splittet op, men ligeså quick-'n'-dirty:
var element, antal = 0; for (var iii = 1; eval('element = document.getElementById("' + iii + '")'; iii++) { antal++; }
Fang tabellerne: document.getElementsByTagName('table') Løb dem igennem for at se om der står slideshow i "id". Hvis der gør det lægger man en til tælleren. Pænt og rent.
<html> <head> <title>Titled Page</title> <script type="text/javascript"> function getNumberOfSLideShows(){ var numberOfSlideShows = 0; var tablesInPage = document.getElementsByTagName('table'); for(var i = 0; i < tablesInPage.length; i++){ numberOfSlideShows+= (0 <= tablesInPage[i].id.indexOf('slideshow'))?1:0; } return numberOfSlideShows; } </script> </head> <body onload="detHemmeligeTalJegVilKende = getNumberOfSLideShows(); alert('Der er ' + detHemmeligeTalJegVilKende + ' relevante tabeller!');">
Hvis du pinedød vil have at det er et tal der står efterfølgende. Er den eneste ordentlige måde at gøre det på. At erstatte "0 <= tablesInPage[i].id.indexOf('slideshow')" med et RegExp tjek. Ellers samme sag.
Hvorfor ikke bare holde styr på, hvormange tabeller der er? Er der tale om et dynamisk dokument, skriver serverscriptet bare en JS-variabel ud, der fortæller, hvormange tabeller der er ;o)
/mvh </bole>
Synes godt om
Ny brugerNybegynder
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.