2012-09-18 71 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

是的,父母会这样做,假设始终是的直接父项 –