2013-02-27 96 views
18

我想將tabindex添加到所有表單元素。表單是dymanic的,我不能將它添加到HTML中。我想將它作爲一個函數來運行。如果有幾個同名的單選按鈕,則每個按鈕都必須具有自己的tabindex值。除SELECT外,頁面上的大多數表單元素都以INPUT開頭。我如何解釋?動態添加tabindex

我想我需要運行一個循環並添加屬性,對吧?

var n = 1; 

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

回答

38

奇怪的問題,但肯定的是這樣的基本理念:

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

這使用:input得到的一切,包括按鈕和文本區域。

+1

爲什麼這很奇怪?某些瀏覽器在通過同一組的單選按鈕選項卡上遇到問題...謝謝。 – santa 2013-02-27 22:06:48

+0

這很奇怪,因爲肯定你會得到標籤索引但不是以任何保證順序。所以你可能會發現這會導致你隨機選擇單選按鈕。 – Brandon 2013-02-27 22:07:55

+0

它不會通過我的HTML結構嗎?我沒有花哨的佈局。 – santa 2013-02-27 22:09:37