[js] Galeria

0

Piszę program galerii, ale mam problem, mój program ma przeszukać sekcję div i znaleźć wszystkie obiekty img, a następnie je zapamiętać i na ich podstawie zrobić galerię. Dróga sprawa nie powoduje kłopotów, ale kod przeszukujący owszem:

function pobierzListeMiniatur(node){
  var miniaturesElementNumber=0;
  var miniatures = new Array();
  
  if(node.hasChildNodes()){
    var childs = node.childNode;
    for(var i in childs){
      var inElements = pobierzListeMiniatur(childs[i]);
      for(var j in inElements){
        miniatures[miniaturesElementNumber++]=inElements[j];
      }
    }
  }
  
  if(node.nodeName == "IMG"){
    miniatures[miniaturesElementNumber++]=node;
  }
  
  return miniatures;
  
}

Teorytycznie takie wywołanie powinno zwrócić listę wszystkich zdjęć w sekcji div o nazwie "galeria":

var miniatury = pobierzListeMiniatur(document.getElementById("galeria"));

Gdzie robię błąd?

0

node.hasChildNodes()

nie każdy element ma tę funkcję, zrób filtracje przy pomocy element.nodeType == 1

node.childNode

tutaj zjadłeś 's' na końcu

poza tym czemu nie skorzystasz z funkcji getElementsByTagName ?

0
piechnat napisał(a)

node.childNode

tutaj zjadłeś 's' na końcu

to już wiem czemu mi nie działało, ja nie zjadłem w książce "JavaScript dla każdego" wydawnictwa helion na stronie 228 jest błąd:

childNode - tablica zawierająca wszystkie węzły potomne...

a nie uzyłem funkcji getElementById, bo program ma zwyczajnie zmienić galerię zrobioną przez InfranView na inną, nie mam ochoty ręcznie umieszczać 500 zdjęć na stronie i dawać im ID.

Ale Wielkie dzieki, jak wróce do domu to przetestuję poprawkę.

0
hubert_nnn1 napisał(a)

a nie uzyłem funkcji getElementById, bo program ma zwyczajnie zmienić galerię zrobioną przez InfranView na inną, nie mam ochoty ręcznie umieszczać 500 zdjęć na stronie i dawać im ID.

napisalem getElementsByTagName

0

ooo, to sory, trochę zmęczony byłem i już mi lieterki jakoś latały. [???] [!!!] [???] [!!!] [???] [!!!] :/

1 użytkowników online, w tym zalogowanych: 0, gości: 1