2013-07-25 145 views
2

我有一个表单,其中一些可能被隐藏。为了正确无障碍我添加的tabIndex使用jQuery,只有那些当前可见的元素:将tabindex添加到动态元素

$(':input:visible').each(function (i) { 
    $(this).attr('tabindex', i + 1); 
}); 

它的伟大工程。但是,当我决定将tabindex添加到具有特定类名称的跨度中时,该元素将被跳过。为什么?

$(':input:visible, .tabIn').each(function (i) { 
    $(this).attr('tabindex', i + 1); 
}); 

<span class="tabIn">my span</span> 
+0

被跳过?它根本就没有得到tabindex? – putvande

+0

在HTML5中,每个标签都可以有tabindex。 – putvande

+0

是的,没有tabindex被添加。但是,如果我手动添加它,Tab键效果很好。在我的jQuery函数中是否有语法错误?..没有意义 – santa

回答

0

这个作品纠正我:

<html> 
    <head> 
     <script type="text/javascript" src="jquery.min.js"></script> 
     <script type="text/javascript"> 
     $(document).ready(function() { 
      $(':input:visible, .tabIn').each(function (i) { 
       $(this).css('background-color','red').attr('tabindex', i + 1); 
      }); 
     }); 
     </script> 
    </head> 
    <body> 
    <span class="tabIn">my span</span> 

    <input name="tabIn" /> 
    </body> 
</html>