动态添加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