动态添加tabindex

我想将tabindex添加到所有表单元素中。 表单是动态的,我无法将其添加到HTML中。 我想将它作为一个函数运行。 如果有多个具有相同名称的单选按钮,则每个单选按钮必须具有自己的tabindex值。 页面上的大多数表单元素都以INPUT开头,SELECT除外。 我该如何解释?

我想我需要运行一个循环并添加属性,对吧?

var n = 1; $('input, select').each(function() { $(this).attr('tabindex', n++); }); 

奇怪的问题,但是这是基本的想法:

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

这使用:输入来获取包括按钮和文本区域在内的所有内容。 :not(:hidden)将只排除隐藏的输入以避免不必要的标签。

最好不要使用n++来设置不同的tabindex数字。

我正在做类似的事情,但我把tabindex设置为0的路线:

 $('input, select').each(function() { $(this).attr('tabindex', '0'); }); 

tabindex="0"表示该元素应该在顺序键盘导航中可聚焦,但其顺序由文档的源顺序定义。 ~developer.mozilla.org