将“attribute”或Class添加到变量中

时间:2013-11-04 09:05:58

标签: javascript jquery

我正在制作幻灯片。最后,我想将current类添加到我的变量中,以便下次检查。

但这不起作用,我也试过attr但没有工作。

这是我的代码:

    $(function () {
        $('.large_image').children('img').addClass('current');
        $('.product-item').click(function () {
            if ($('.large_image > img').hasClass('current')) {
                var $img = $(this).find('img').attr('data-img');
                var $slider = '<img class="dis-none" style="position:absulote;z-index:999" src=' + $img + ' />';
                $($slider).appendTo('.large_image').stop(true, true).delay(400).fadeIn(
                   function () {
                       $('.current').fadeOut(function () {
                           $(this).remove();

                       });
                   });
                $($slider).attr('class', 'current');
                $($slider).addClass('current');
            }
        })
    });

有关如何解决此问题的任何帮助?

4 个答案:

答案 0 :(得分:3)

首先,您的变量名称为$slider,而不是slider。您需要在$之前添加slider$($slider)。修复此问题后,您只需使用jQuery的addClass()方法:

$($slider).addClass('current');

jQuery还有一个removeClass()方法来删除该类,因此在将新幻灯片设置为“当前”之前,您可能需要调用:

$('.current').removeClass('current');

答案 1 :(得分:1)

使用addClass()添加类属性

$(slider).addClass("current");

答案 2 :(得分:1)

以下是代码中的实际错误。

$($slider).attr("class='current'"); //WRONG
$($slider).attr('class','current'); //RIGHT WAY

或仅使用addClass()方法

$($slider).addClass('current');

选中此Benefits of using attr() over addClass in jquery

  

addClass() 与使用操作类相比有几个好处   ATTR( '类'):

     
      
  1. 它在语义上更清晰。
  2.   
  3. 适用于多个班级。
  4.   
  5. 显然要快得多。
  6.   

答案 3 :(得分:1)

使用add class并删除类

$(slider).addClass('current').siblings().removeClass('current');

它还会删除其他元素current class