2012-09-18 225 views
0

我試圖通過jQuery工作不正常

這裏創建點擊事件jQuery的點擊功能是HTML代碼

<div class="wpcart_gallery" style="text-align:center; padding-top:5px;"> 

<a class="thickbox cboxElement" href="0037.jpg" rev=" 0037.jpg"> 
<img class="attachment-gold-thumbnails colorbox-736" width="50" height="50" src="0037-50x50.jpg"> 
</a> 

<a class="thickbox cboxElement" href="0038.jpg" rev=" 0038.jpg"> 
<img class="attachment-gold-thumbnails colorbox-736" width="50" height="50" src="0038-50x50.jpg"> 
</a> 

<a class="thickbox cboxElement" href="0039.jpg" rev=" 0039.jpg"> 
<img class="attachment-gold-thumbnails colorbox-736" width="50" height="50" src="0039-50x50.jpg"> 
</a> 

</div> 

注意,圖像鏈接的類名被稱爲ThickBox的cboxElement。當頁面加載類時,cboxElement從div內的第一個圖像中刪除,我想要做的是當用戶單擊任何圖像以從該圖像鏈接中刪除類名cboxElement並將類cboxElement添加到其他圖像鏈接。

<script type="text/javascript"> 
    jQuery('document').ready(function($){ 
     $(".wpcart_gallery a:first").removeClass("cboxElement"); 
     jQuery(".wpcart_gallery img").click(function($){ 
      jQuery(".wpcart_gallery a").removeClass('cboxElement').siblings().addClass('cboxElement'); 
     }); 
    }); 
</script> 

上面的代碼工作... sorta。它從第一個圖像鏈接中刪除類名稱cboxElement,但點擊事件不起作用,當我點擊任何圖像時,它會將類cboxElement添加到所有圖像鏈接。

我在找的是將類cboxElement添加到除點擊之外的所有圖像鏈接。

我在jQuery代碼的錯誤控制檯中沒有錯誤,jquery.js文件位於標題中並且正在工作。

下面是一個例子...注意大圖下方的3張圖片。 http://www.taranmarlowjewelry.com/products-page/rings/product-1-2/

+0

可能想使用$而不是jQuery。 – chovy

+0

我得到了相同的結果...所有圖像鏈接獲取cboxElement添加,並沒有從被點擊的圖像鏈接中刪除類cboxElement – user1269625

回答

2

刪除$當你做一個

jQuery(".wpcart_gallery a") 

你會得到在div所有標籤的列表,而不是你點擊一個。所以,首先去除類,然後將它添加到所有的兄弟姐妹時表示:

  1. 從所有標記中除去類
  2. 類添加到所有標籤

爲了得到一個屬於被點擊的圖像做類似:

jQuery(this).closest('a') 

希望這個作品!

+0

我會做一個jQuery(this).parent();被點擊的圖像(處理程序顯然與圖像綁定)將始終在需要修改的鏈接內。然後鏈接到其他鏈接:jQuery(this).parent()。doStuff()。siblings()。doStuff(); –

+0

謝謝Runar Halse!它的工作,非常感謝。 – user1269625

+0

是的,父母會這樣做,假設始終是的直接父項 –