如何用类检查元素?

时间:2013-07-09 22:17:14

标签: jquery

我正在使用jquery代码进行键盘控制。当我按下键盘时,黄色块将跳转到下一个块。我试图找出如何使用名为'span0hr'的类检查'row2'的元素然后做一些事情。

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");
      //alert("-"+(parseInt(currentrowleft)-parseInt(currentdivwidth))+"px");


      if(current_row == 2 && currentdivwidth[0] == 517)
      {
        current_row--;
      }
      else if(current_row == 2 && currentdivwidth[0] == 250)
      {
        $('.span1hrfor30mins').each(function(i,e)
        {
          if($(e).hasClass('row2') && $(e).hasClass('span1hrfor30mins'))
          {
            $('.rowSubPgm').css( "margin-left", "-"+(rowwidth)+"px" );
            $(e).attr('row2'); $(e).removeClass('span1hrfor30mins').addClass('span1hr');
          }
        });

        if($(e).hasClass('span0hr'))
        {
            alert("let do something");
        }
      }


      if(current_row > 2 && currentdivwidth[0] > 250)
      {
        current_row--;
      }
  }

麻烦在于此代码中的某处:

if($(e).hasClass('span0hr'))
{
  alert("let do something");
}

当我按下键盘上的左箭头按钮时,它应该用一个名为'span0hr'的类检查'rows2'的元素然后做一些事情,但代码发生的事情是它没有做任何事情。它根本不检查元素,我想我已经使用了不正确的if语句来检查元素。

有没有人知道如何使用名为'span0hr'的类检查名为'rows2'的元素?

1 个答案:

答案 0 :(得分:0)

确保将处理程序附加到onkeydown或onkeyup事件。所有浏览器上的控制键都没有引发onkeypress事件。