我正在尝试在给定表单上重新分配新的选项卡索引。为此,我想排除任何不可见(不可见)的表单元素,并且还排除拥有特定类(“.offscreen”)的任何表单元素。
我正在尝试这种方法 - 但是,它不起作用(并且可能不是最有效的方法)。
function reassignTabOrders() {
var tabindex = 1;
$j('input,select,textarea').not('.offscreen').each(function() {
var $input = $j(this);
if ($input.is(':visible')) {
$input.attr("tabindex", tabindex);
tabindex++;
}
});
};
有任何想法吗?
您可以使用:visible http://api.jquery.com/visible-selector/选择器和:input http://api.jquery.com/input-selector/, 像这样:
function reassignTabOrders() {
$j(':input:visible:not(.offscreen)').each(function(i) {
this.tabIndex = i+1;
});
}
这也使用了提供的索引.each() http://api.jquery.com/each/函数到回调,不需要自己维护一个单独的变量:)在更高的 jQuery 版本中,你可以使用一个函数来缩短它(但不是那么快).attr() http://api.jquery.com/attr/, 像这样:
function reassignTabOrders() {
$j(':input:visible:not(.offscreen)').attr("tabindex", function(i) {
return i+1;
});
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)