2011-06-13 42 views
3

我正在處理一個項目,當縮略圖被選中並且它的工作正常時,將縮略圖圖像交換到一個更大的圖像,但是現在我想讓最終用戶能夠點擊更大圖像顯示在jquery.lightbox-0.5中。問題是,選擇縮略圖後,加載的圖像沒有href。我希望我可以通過onclick事件將圖像src傳遞給href,但我無法弄清楚如何使其工作。onclick setAttribute從一個src的href

這裏是我的代碼

<script type="text/javascript"> 
function swaphref(image) { 

document.getElementById('image').setAttribute('href', this.src); 
//window.alert(document.getElementById('image').src); 
} 
</script> 

<body> 
<div class="productimage" id="gallery"><a onclick="swaphref(this)"><img id="image" img src="product_images/<?php echo $targetID; ?>/<?php echo $targetID; ?>.jpg" width="253" height="378" border="0" /></a></div> 

</body> 
+0

爲什麼要設置「img」元素的「href」屬性?有趣的屬性是「src」,而不是「href」,除非我錯過了一些關於lightbox插件的東西。 – Pointy 2011-06-13 12:09:38

+0

,因爲onclick在a上,「this」將引用a元素而不是圖像。 – 2011-06-13 12:11:13

+0

應在下述工作.... – Jason 2011-06-13 13:12:37

回答

0

我想你混淆了hrefsrc屬性。看看你的代碼,我看到兩件事:

document.getElementById('image')。setAttribute('href',this.src); //window.alert(document.getElementById('image').src);

您正在設置圖像的href屬性,它應該是src,並且您從鏈接獲取src屬性,該屬性應該是href。奇怪的是在window.alert

讓您正確的:

的document.getElementById( '圖像')的setAttribute( 'src' 中,this.href')。 window.alert(的document.getElementById( '圖像')。SRC

應該工作。

+0

對不起,我缺少一行註釋代碼\t //window.alert(document.getElementById('image').src);.用於測試目的,以查看onclick是否更改了href。結果我得不到定義。 – Jason 2011-06-13 12:57:01

0
var image = document.getElementById('image'); 
image.setAttribute('href', image.src); 

應該工作。

+0

Nope不適合我。如果我使用並提醒,我仍然不確定。 – Jason 2011-06-13 13:09:05

0

改變這一行

document.getElementById('image').setAttribute('href', this.src); 

以這種方式

document.getElementById('image').setAttribute('src', this.href); 
+0

我需要使用onclick將href更改爲src。 – Jason 2011-06-13 12:58:55

3

好的。我得到了這個工作。 'a'缺少一個id。

下面的代碼.....

<script type="text/javascript"> 
function swaphref(imagehref) { 

document.getElementById('imagehref').setAttribute('href', image.src); 

//window.alert(document.getElementById('image').src); 
//window.alert(document.getElementById('imagehref').href); 
} 
</script> 

<body> 
<div class="productimage" id="gallery"><a href="#" id="imagehref"  onclick="swaphref(this)"><img id="image" img src="product_images/<?php echo $targetID; ? >/<?php echo $targetID; ?>.jpg" width="253" height="378" border="0" /></a></div> 

</body> 

謝謝大家誰試圖幫助。