0

我在检查元素时遇到问题,我试图找出如何检查元素'rowSubPgm',如果他们使用rowwidth3 向左移动。

我试过这个:

  if(current_row == 4 && currentdivwidth[0] == 517)
  {
    if($('.rowSubPgm').css( "margin-left", "-"+(rowwidth3)+"px"))
    {
      alert("now let do something");
    }

    $('.span2hrfor1hr30mins').each(function(i,e)
    {
      if($(e).hasClass('row2') && $(e).hasClass('span2hrfor1hr30mins'))
      {
        $('.rowSubPgm').css( "margin-left", "-"+(rowwidth3)+"px" );
        $(e).attr('row2'); $(e).removeClass('span2hrfor1hr30mins').addClass('span2hrfor1hr');
      }
    });

当我在大小为 517 的第四列上时,我可以通过 'if current_row == 4 && currentdivwidth[0] == 517' 语句,但我无法检查元素 'rowSubPgm' 如果他们一直在使用 rowwidth3 向左移动。

你知道我如何检查元素是否使用 rowwidth3 向左移动吗?

4

1 回答 1

0

检查 CSS margin-left 属性怎么样?这是一个“技术级”的解决方案。

var marginValue = $('.rowSubPgm').css( 'margin-left');   // gets CSS from first.
console.log('margin value=', marginValue);
if (marginValue) {  // is non-empty
    console.log('margin value detected!', marginValue);
    // now do something, based on that.
}

然而,做一个“设计级”解决方案可能会更好——切换 CSS 类或使用 jQuery 数据来标记应用程序的逻辑状态。

if ($('.rowSubPgm').hasClass( 'Row_IsShifted')) {
    // this class is specific to your applications, 
    //    and decouples logic from your specific implementation.
}

也许“span2hrfor1hr”类是一个合适的逻辑标记,也许不是?(我不了解您的应用程序打算做什么的概述。)

if ($('.rowSubPgm').hasClass( 'span2hrfor1hr')) {

如果您确实使用 CSS 类,这也可能能够驱动左边距设置(如果这不是动态的),也许还有其他一些格式。

于 2013-07-13T01:08:22.467 回答