Was ist der beste Weg, um das zugrunde liegende DOM -Element durch ID in JQuery zu erhalten?

StackOverflow https://stackoverflow.com/questions/989865

  •  13-09-2019
  •  | 
  •  

Frage

Das klingt nach einer wirklich grundlegenden Frage. Nehmen wir an, ich habe das folgende Formularelement

<select id="mySelect"> 

...

Nehmen wir an, ich möchte es mit JQuery mit ID erhalten, damit ich direkt auf eines seiner Attribute wie SelectedIndex zugreifen kann.

ich Denken Sie nicht ich kann nutzen

var selectedIndex = $("#mySelect").selectedIndex;

Weil der # Selector eine Reihe von Elementen zurückgibt. Wenn ich tatsächlich auf das Element Select DOM zugreifen möchte, muss ich anrufen

var selectedIndex = $("#mySelect").get(0).selectedIndex;

Ist das richtig? Gibt es einen Selektor, mit dem ich direkt zum DOM -Element gelangen kann, ohne einen "zusätzlichen Anruf" tätigen zu müssen, um (0) zu bekommen?

Ich frage, weil ich vom Prototyp komme, wo ich nur sagen kann:

var selectedIndex = $('mySelect').selectedIndex;
War es hilfreich?

Lösung

Es gibt jQuery -Möglichkeiten, um den Wert der zu erhalten <select> Sie müssen nicht auf das tatsächliche DOM -Element zugreifen. Insbesondere können Sie dies einfach tun, um den Wert der aktuell ausgewählten Option zu erhalten:

$('#mySelect').val();

Manchmal möchten Sie jedoch aus irgendeinem Grund auf ein bestimmtes DOM -Attribut zugreifen.

Während .get(0) Die von Ihnen bereitgestellte Syntax ist korrekt. Ohne den Funktionsaufruf ist auch möglich:

$("#mySelect")[0].selectedIndex;

Eine JQuery-Sammlung verhält sich wie ein Array-ähnliches Objekt und enthält die tatsächlichen DOM-Elemente durch sie.

Andere Tipps

$("#mySelect").val() wird den Trick machen.

$("#mySelect option:selected").val()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top