Bildnamen ausgeben

FLASHStyler

Mitglied
PHP:
<html> 
<head> 
<script language="javascript"> 
<!-- 
  //function getName() { 
     alert(document.getElementByID('bild').src)); 
     //} 
--> 
</script> 
</head> 
<body> 
<div id="pic"> 
<img src="bild.jpg" id="bild"> 
</div> 
</body> 
</html>

Klappt irgendwie nicht. Ich hab das Gefühl, dass man das so auch nicht verwenden kann?
Die hatte ich vor :das links fotos sind.. und wenn man auf ein foto klickt.. dann sollen recht dies foto nur in gross geladen werden...!

Vielleicht hat jemand ne andere Idee?
 
Hi,

probier mal:
HTML:
<script language="javascript">
<!--
  function getName() {
     alert(document.getElementByID('bild').src));
  }
-->
</script>
</head>
<body onLoad="getName()">
<div id="pic">
    <img src="bild.jpg" id="bild">
</div>
</body>
Und warte damit, bis der Dokumentbaum vollständig geparst ist.

Gruß
.
 
Zuletzt bearbeitet:
Hol Dir doch einfach mit substr und indexOf alles nach dem letzten "/":
HTML:
var s = document.getElementById("bild").src;
alert(s.substr(s.indexOf("/") + 1));

Gruß
.
 
... indem Du darin ein img-Element erzeugst, dessen src-Attribut Du den entsprechenden Pfad übergibst. Details erfährst Du durch die Forumsuche (Stichworte: innerHTML, DOM) - hier schwirren in letzter Zeit einige Threads zu diesem Thema rum.

Einem existierenden iframe kannst Du das Bild einfach als Source übergeben (ebenso einem schon existierenden img-Element).

Gruß

EDIT @con-f-use: stimmt, das große "I" habe ich tatsächlich übersehen (und sicherhaltshalber geändert) :-(
 
Zuletzt bearbeitet:
Kleine Anmerkung am Rande: document.getElementByID
Das "D" am Ende sollte klein sein also document.getElementById und wenn man's richtig schreibt und das Script nach dem Element ins Dokument einfügt, klappts auch ohne onload.
HTML:
<html><head> 
           
           </head><body> 
           <div id="pic">
           <img src="bild.jpg" id="bild"> 
           </div>
            <script language="javascript"> 
           <!--  
             //function getName() {  
           	 alert(document.getElementByID('bild').src));  
           	 //}  
           --> 
           </script> 
            </body></html>

Was das anzeigen in einem iFrame angeht: Die korrekte und moderene Methode im Vergleich zu innerHTML wäre wohl die über createElement(), setAttribute() und appendChild():
Du erzeugst zuerst ein img-Elment
Code:
  img = document.createElement('img');
setzt seinen seinen src
Code:
 img.setAttribute('src', 'pics/bild.gif');
und hängst es dann in ein Element des iframes ein
Code:
window.NameDesIframes.document.getElementByWasAuchImmer.appendChild(img);
und wenn du alles richtig gemacht hast, ist dann das ganze im iframe zu sehen.


Was den div-Tag angeht. Das img-Tag in deinem Beispiel ist ja das erste Kindelement des div's, also kannst du direkt sein src ändern mit
Code:
document.getElementById('pic').firstChild.src = 'pics/bild.gif';
bzw.
Code:
document.getElementById('pic').firstChild.setAttibute('src','pics/bild.gif');
Und wenn du dem Bild selbst und nicht dem <div>-Tag eine id gibst kannst du dir das firstChild sparen.


Mit innerHTML, kann man halt direkt html-Code in ein Element schreiben, also
Code:
document.getElementById('pic').innerHTML = '<img src="pics/bild.gif"' />';
für den div-Layer und
Code:
window.NameDesIframes.document.getElementByWasAuchImmer.innerHTML = '<img src="pics/bild.gif"' />';
für den iframe. Mehr zu dem Streitpunkt innerHTML vs. DOM kannst du auch lesen:
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück