Witam,
Pisze skrypt, jednocześnie ucząc się javascriptu i mam taką zagwozdkę, która mnie nurtuje. Otóż, chce osiągnąć aby skrypt odnalazł obiekt <img> i przypisał mu określone zadanie po kliknięciu na nie. Efekt ten uzyskałem takim sposobem:

  1. function logo() {
  2. var adres= String(window.location);
  3. var sprawdz= adres.substring(adres.lastIndexOf("/")+1);
  4. if (sprawdz !="index.php") {
  5. for ( x=0; x< document.images.length; x++) {
  6. if (document.images[x].parentNode.id == "naglowek") {
  7. var logo= document.images[x];
  8. logo.onclick= function() {
  9. alert("dziala");}
  10.  
  11. }
  12. }
  13. }}
  14.  


Oczywiście po kliknięciu na plik (o ile adres nie konczy sie na index.php [efekt celowy]) wyświetla się alert. Jednak wcześniej chciałem ten sam efekt uzyskać poniższym skryptem:

  1. function logo() {
  2. var adres= String(window.location);
  3. var sprawdz= adres.substring(adres.lastIndexOf("/")+1);
  4. if (sprawdz !="index.php") {
  5. var logo= document.getElementById("naglowek").childNodes[0];
  6. logo.onclick= function() {
  7. alert("działa");}
  8.  
  9. }
  10. }
  11. }}
  12.  


Jednak ta wersja nie działa. Dostaję się do obiektu <img> innym sposobem z wykorzystaniem getElementById("naglowek").childNodes[0], gdzie nazwa identyfikatora diva zawierającego ten obrazek to "naglowek", a sam obrazek jest jedynym elementem tego diva. Dlaczego ten skrypt nie działa?

Dobra, działa. Js ma swoje głupie zasady i tablice childNodes zaczyna od 1 :/. Zatem:

Kod
var logo= document.getElementById("naglowek").childNodes[1];