2012-04-05 7 views
2

Logischerweise möchte ich ein Bild in einen Link in einem div einbetten. Ich habe das entweder mit dem Link oder dem Bild erfolgreich gemacht. Ich habe es sogar mit dem Link und dem Bild parallel gemacht (was nutzlos ist) für meine Zwecke. Aber kann nicht scheinen, das Bild in einen Link in einem div eingewickelt zu haben.div.appendChild(). AppendChild()

var div = OpenLayers.Util.createDiv(); 
var img = OpenLayers.Util.createImage(null, null, null, null, null, null, null, delayDisplay); 
img.className = "olAlphaImg"; 
img.alt = altText; 

var link = document.createElement("a"); 
// link.setAttribute("href", "#"); 
link.href="#" + altText; 
link.appendChild(img); 

div.appendChild(link); 

OpenLayers.Util.modifyAlphaImageDiv(div, id, px, sz, imgURL, position, border, sizing, opacity, altText); 

return div; 

Dies ist für eine Openlayers, wo ich versuche, Navigation mit der Tastatur zu gewährleisten. Ich bin einfach nicht sicher, wie man das mit Javascript macht und alle Beispiele benutzen nur eine appendChild-Referenz. Ich habe versucht mit innerHTML(), aber ich habe keine Zeichenfolgen verwendet, so dass es nicht nützlich schien.

+0

können Sie jsfiddle für diese –

+0

True .. Ich werde versuchen, das nächste Mal zu tun. Olegs Antwort unten beantwortete meine Frage, wäre aber besser gewesen, wenn ich nur getan hätte, was Sie zuerst vorgeschlagen hatten. –

Antwort

3

Was meinst du mit

können das Bild nicht erscheinen in einem Link in einem div

Fehler

Sie erleben gewickelt haben Sie?

Ich könnte Ihre Frage missverstanden haben, aber wenn nicht, sollte Ihr Code funktionieren.

Hier ist mein Beispiel: ein working jsfiddle, die ein Bild in einen Link in einen Container umschließt.

var img = document.createElement('img'); 
img.src = 'https://www.google.fr/images/srpr/logo3w.png'; 

var anchor = document.createElement('a'); 
anchor.href = 'http://google.com'; 

// Wrap image in the link (anchor): 
anchor.appendChild(img); 
// Insert the anchor into container: 
document.getElementById('container').appendChild(anchor); 
+0

Danke Oleg. Das hat definitiv geholfen. Ich habe damit ein bisschen gespielt. Ich habe es in OpenLayers gebündelt und bekam keine Fehler. Es in ein jsFiddle herausziehen half! http://jsfiddle.net/mgifford/9jbc7/9/ –