Avatar billede halu Nybegynder
30. oktober 2002 - 15:44 Der er 2 kommentarer og
1 løsning

getElementsByName

Jeg skal lave lidt dom manipulation af en side idet den loades færdig - og herefter print den ud - jeg har lavet følgende funktion ( som er lidt kryptisk )

function init(){
    var check_box = document.getElementsByName("selectboxes");
    for(i=0;i<check_box.length;i++){
        check_box[i].innerHTML = "&nbsp;";
    }
    comments = document.getElementsByName("addComent_rows");
    var len = comments.length;
    for(i=0;i<len;i++){
        el = comments[0];
        parent = el.parentNode;
        parent.removeChild(el);
    }
    window.print();
}

formålet er at erstatte alt indhold i tabelsceller med navnet selectboxes med $nbsp; og slette alle tabelrækker med navnet add_comment_rows; inden udskriften startes.

scriptet virker fint i mozilla og initaliceres fra onload med noload="setTimeout('init()',10)"

i IE derimod er de collections der opnåes med getElementsByName tomme (lenght == 0)

hvorfor det?

et andet spørgsmål
Nogen forslag til hvorfor parent.removeChild ændre på en collection der tidligere er hentet på DOM træet -  jeg er ikke særlig tilfreds med omskrivningen fra
comments = document.getElementsByName("addComent_rows");
    for(i=0;i<comments.length;i++){
        el = comments[i];
        parent = el.parentNode;
        parent.removeChild(el);
    }

til det nuværende, men det er tilsyneladende nødvendigt!

mvh Hans
Avatar billede Slettet bruger
30. oktober 2002 - 15:48 #1
Så vidt jeg ved, er det ulovligt at bruge samme name til to eller flere elementer (radio-buttons undtaget). Derfor hedder funktionen vist document.getElementByName i IE. Muligvis returnerer den også et array, hvis den finder mere end én forekomst, men jeg tvivler på det.
Avatar billede Slettet bruger
30. oktober 2002 - 16:30 #2
Nu har jeg prøvet lidt på egen hånd, og det virker sgu ikke særlig godt.
Måske kan du bruge document.getElementsByTagName i stedet.
Avatar billede halu Nybegynder
15. januar 2003 - 08:30 #3
lukker
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