0

我正在尝试通过 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>

上面的代码工作......排序。它从第一个图像链接中删除了类名 cboxElement,但是单击事件不起作用,当我单击任何图像时,它会将类 cboxElement 添加到所有图像链接中。

我要做的是将类 cboxElement 添加到所有图像链接,除了被点击的链接。

我的 jQuery 代码错误控制台中没有任何错误,jquery.js 文件位于标头中并且正在运行。

这是一个示例……请注意大图下方的 3 张图片。http://www.taranmarlowjewelry.com/products-page/rings/product-1-2/

4

2 回答 2

2

当你做一个

 jQuery(".wpcart_gallery a")

您将获得 div 中所有标签的列表,而不是您单击的标签。因此,当首先删除类然后将其添加到所有兄弟姐妹时意味着:

  1. 从所有标签中删除类
  2. 将类添加到所有标签

要获得属于被点击的图像的 a,请执行以下操作:

jQuery(this).closest('a')

希望这有效!

于 2012-09-18T07:04:07.023 回答
0

从函数参数中删除 $

jQuery(".wpcart_gallery img").click(function(){
             jQuery(".wpcart_gallery a").removeClass('cboxElement').siblings().addClass('cboxElement');
        });
于 2012-09-18T07:02:44.463 回答