Avatar billede fangel Nybegynder
29. juni 2003 - 22:07 Der er 7 kommentarer og
2 løsninger

lave en getElementByID("um1___")

Hej

jeg vil lave en funktion der finde alle elementer der har en id der starter med "um1", altså både "um1", "um11", "um173" osv...

hvordan gøres dette?

Morten
Avatar billede ahv Nybegynder
29. juni 2003 - 22:13 #1
elem = document.all?document.all:document.getElementById;
for( i = 0; i < elem.length; i++ ){
if(elem[i].name != null && elem[i].name.substring(0,3) == "um1" ){


Når den kommer ind i if betingelsen er den opfyldt, er det dette du eftersøgte eller?
Avatar billede ahv Nybegynder
29. juni 2003 - 22:16 #2
Blah, den tjekker dem på navnet ikke id.
Avatar billede fangel Nybegynder
29. juni 2003 - 22:17 #3
ok, bedre formuleret, jeg skal bruge en funktion ala denne:

---
function DoMenuTrick(id){
    document.getElementById('um'+id).style.display = (document.getElementById('um'+id).style.display == 'none') ? 'block' : 'none';
}
---

den sætter for et specefikt ID... den skal laves som så der kan stå noget bag "id", uvidst hvad... altså en søgning...

funktionen skal - som nok gættet - bruges til en "expand all" / "hide all" funktion til med hjemmelavede tree-menu

Morten
Avatar billede ahv Nybegynder
29. juni 2003 - 22:23 #4
<html>
<head>
<script language="javascript" type="text/javascript">
function skjulVis(){
    lrs = document.all?document.all:document.getElementById;
    if(lrs!=null){
        for(i = 0; i < lrs.length; i++){
            if(lrs[i].id.substring(0,3) == "um1"){
                lrObj = document.all?document.all[i]:document.getElementById(i);
                if( lrObj.style.visibility == "hidden" ){
                    lrObj.style.visibility = "visible";
                } else{
                    lrObj.style.visibility = "hidden";
                }
            }
        }
    }
}
</script>
</head>
<body>
<div id="um123">Denne skal skjules</div>
<div id="um223" name="test1">Denne skal ikke skjules</div>
<div id="um1ahv" name="Test2">Denne skal skjules</div>
<div id="hest">Denne skal ikke skjules</div>
<div id="um1ko" name="Test4">Denne skal skjules</div>
<br>
<a href="java script:void(skjulVis());">Skjul / Vis</a>
</body>
</html>
Avatar billede fangel Nybegynder
29. juni 2003 - 22:26 #5
den laver (desværre) en fejl i Mozilla

---
Error: lrs[i] has no properties
Source File: file:///C:/Documents%20and%20Settings/Morten%20Fangel/Skrivebord/ahv.html
Line: 8
---

Morten
Avatar billede roenving Novice
30. juni 2003 - 03:49 #6
Brug document.getElementsByTagName('*')

-- den skulle give dig alle elementer og så i konqueror og mozilla ...
Avatar billede roenving Novice
30. juni 2003 - 04:20 #7
Selvfølgelig virker den ikke i NS4 -- men det regner jeg heller ikke med, at du har brug for ...
Avatar billede fangel Nybegynder
30. juni 2003 - 10:00 #8
NS4 kan jeg godt leve uden... men i alle GECKO baserede skulle den gerne kunne!

---

hvis jeg benytter:
---
<script language="javascript" type="text/javascript">
function skjulVis(){
    lrs = document.getElementsByTagName('*');
    if(lrs!=null){
        ............
---

får jeg følgende fejl:
---
Error: lrObj has no properties
Source File: file:///C:/lang/sti/ahv.html
Line: 10
---

Morten
Avatar billede fangel Nybegynder
12. juli 2003 - 11:19 #9
jeg lukker her - ahv får ½ point for hjælpen - jeg tager den sidste halvdel da intet konstruktivt svar kom...

håber ingen er utilfredse

Morten
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