1

我的代码需要一些帮助。我的元素有问题,因为我想检查他们是否有一个名为“span3hrfor2hrs”的新类,然后做点什么。

  if (event.keyCode == 37) 
  {   //left
    if(parseInt(current_row) <= 1)
    {
      return false;
    }

    for(var i=2; i< parseInt(current_row);i++ )
    {
      var yellowbgnextdivwidth1 = $(".div_"+current_col+'_'+i).css( "width"); 
      var yellowbgnextdivwidthsplit1 = yellowbgnextdivwidth1.split("px");
      totalwidth_current1=parseInt(totalwidth_current1)+parseInt(yellowbgnextdivwidthsplit1[0]);
    }   
    var currentrowleft = $(".rowSubPgm div.pgmFirstRow:first").css( "margin-left").split("px");
    currentrowleft1 = currentrowleft[0].split("-");
    currentrowleft2 = currentrowleft1[0].split("-");

    if(typeof(currentrowleft2[1])!= "undefined")
        currentrowleft1 = currentrowleft2[1];
    if(typeof(currentrowleft1[1])!= "undefined")
      currentrowleft = currentrowleft1[1];
    else
      currentrowleft = currentrowleft[0];           
      var currentdivwidth = yellowbg.css( "width").split("px");

      if(parseInt(currentrowleft) > totalwidth_current1 && parseInt(current_row) != 2)
      {
        alert("left 1");
        //alert("-"+(parseInt(currentrowleft)-parseInt(currentdivwidth))+"px");

        $('.span3hrfor2hrs').each(function(i,e)
        {
          if($(e).hasClass('span3hrfor2hrs'))
          {
            alert("replace the 2 hours to 3 hour");
            $(e).attr('row2'); $(e).removeClass('span3hrfor2hrs').addClass('span3hr');
            $('.rowSubPgm').css( "margin-left", "-"+(rowwidth)+"px" );
          }
        });
      }
    }
  }

当我按下键盘的左箭头来检查元素以查看它们是否有一个名为“span3hrfor2hrs”的新类时,但它没有做任何事情。没有警报消息显示。

我认为问题出在这段代码中:

 $('.span3hrfor2hrs').each(function(i,e)
 {
   if($(e).hasClass('span3hrfor2hrs'))
   {
     alert("replace the 2 hours to 3 hour");
     $(e).attr('row2'); $(e).removeClass('span3hrfor2hrs').addClass('span3hr');
     $('.rowSubPgm').css( "margin-left", "-"+(rowwidth)+"px" );
   }
  });

我不知道为什么它没有检查元素。你知道我如何检查元素以查看它们是否有一个名为“span3hrfor2hrs”的新类吗?

4

1 回答 1

1

这已经只选择应用了此类的元素,因此您可以简单地

 $('.span3hrfor2hrs').each(function(i,e) {
   $(e).removeClass('span3hrfor2hrs').addClass('span3hr');
  });
于 2013-07-05T23:23:53.627 回答