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 = " ";
}
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