2010-09-22 15 views
28

Gibt es ein Attribut wie Tab-Index?Kann ich Tabindex in JavaScript dynamisch setzen?

CONTEXT: Ich mache einen Abschnitt in einem Webformular sichtbar oder unsichtbar abhängig von einer Bedingung, wo ich den Tab-Index manuell festlegen möchten, wenn dieser bestimmte Abschnitt sichtbar ist.

Antwort

42
document.getElementById("link3").tabIndex = 6; 
+4

+1 für Ihren Avatar – MooGoo

+5

$ ('# link3 ') .attr (' tabIndex ', 6); // für jQuery – marklark

+0

Das Attribut ist 'tabindex', aber' el.tabindex' funktioniert nicht, jedoch 'el.tabIndex'. So seltsam. –

0

dynamisch erstellen und tabIndex eines HTML-Elemente zurückgesetzt.

Das tabindex -Attribut spezifiziert die Tab-Reihenfolge eines HTML-Elements, wie zum Beispiel eine Menge von "li", "a" e.t.c. Das Tabindex-Attribut wird in allen gängigen Browsern unterstützt.

Für diese Instanz lassen Sie Tabindex für Listenelemente "li" setzen. In der Regel beginnt tabindex von '0', aber wir können ihn auf '1' zurücksetzen. Ich benutze Jquery, um dies zu tun.

See It Working Here

<ul id="dfruits"> 
<li>Apple</li> 
<li>Dragonfruit</li> 
<li>Damson</li> 
<li>Cloudberry</li> 
<li>Blueberry</li> 
<li>Cherry</li> 
<li>Blackcurrant</li> 
<li>Coconut</li> 
<li>Avocado</li> 
<li>Pinaple</li>  
</ul> 

$(document).ready(function() { 

var 
SomeFruitsList=$("ul#dfruits li"), 
//set tab index to starts from 1 
tabindex = 0; 

SomeFruitsList.each(function() { 
// add tab index number to each list items 
    tabindex++; 
$(this).attr("tabindex","TabIndex " +tabindex); 

var tabIndex = $(this).attr("tabindex"); 
// add tab index number to each list items as their title 
$(this).attr("title",tabIndex); 

    $(this).append('<br/><em>My tabIndex is number: '+tabIndex+'<em>') 
}) 
    }); 
4

Mit JQuery wir Tabindex dynamisch leicht Versuchen einstellen können diese Code- die tabindex gesetzt und erhöhen die Variable

$(function() { 
    var tabindex = 1; 
    $('input,select').each(function() { 
     if (this.type != "hidden") { 
      var $input = $(this); 
      $input.attr("tabindex", tabindex); 
      tabindex++; 
     } 
    }); 
}); 
+0

Das ist perfekt, danke! –

Verwandte Themen