Wie kann ich mit jQuery den Namen des Elements ermitteln?

130

Wie kann ich mit jQuery die Namenseigenschaft eines HTML-Elements abrufen?

Poonam Bhatt
quelle
Ein HTML-Code oder sogar ein bisschen mehr Informationen über das Element, dessen Namen Sie möchten, helfen uns, Ihnen eine genauere Antwort zu geben.
Patricia
4
Verwenden Sie .prop()diese Option , um Eigenschaften und .attr()Attribute abzurufen. Verwenden Sie nicht .attr(), um eine Immobilie zu bekommen, wie jeder vorschlägt. Wir arbeiten hier mit JavaScript, nicht mit HTML-Markup.
11
Dies sollte wieder geöffnet werden. Asker sollte dafür belohnt werden, dass er auf den Punkt kommt und nicht mit etwas wie "Ich habe diese Website, wo ..."
cantera
@ cantera25: danke für den Hinweis ..
Poonam Bhatt

Antworten:

220

Sie sollten verwenden attr('name')wie diese

 $('#yourid').attr('name')

Sie sollten einen ID-Selektor verwenden. Wenn Sie einen Klassen-Selektor verwenden, treten Probleme auf, da eine Sammlung zurückgegeben wird

Nicola Peluchetti
quelle
8
Ich bekomme nur undefinierte Werte, wenn ich diese oder .prop ()
HorusKol
1
Gibt es einen Grund, attr ('name') gegenüber prop ('name') vorzuziehen?
Dallas
Ich habe $(this).attr('name');einen Klassenselektor verwendet $('.jobSelect').change(function() {und bin auf keine Probleme gestoßen.
Ömer An
14

Zum Lesen einer Eigenschaft eines von Ihnen verwendeten Objekts .propertyNameoder einer ["propertyName"]Notation.

Dies ist bei Elementen nicht anders.

var name = $('#item')[0].name;
var name = $('#item')[0]["name"];

Wenn Sie speziell jQueryMethoden verwenden möchten, verwenden Sie die .prop()Methode.

var name = $('#item').prop('name');

Bitte beachten Sie, dass Attribute und Eigenschaften nicht unbedingt identisch sind.

user1106925
quelle
Ich denke, prop()ist für boolesche Eigenschaften wie checkednicht für Attribute
Nicola Peluchetti
2
@NicolaPeluchetti: .prop()ist für jede Eigenschaft im DOM-Element. .attr()ist eine sehr verwirrte Methode, die ihr Verhalten zwischen verschiedenen Releases geändert hat und Ihnen manchmal die Eigenschaft, manchmal das Attribut gibt. In beiden Fällen wird zwischen Attributen und Eigenschaften unterschieden, die mit der richtigen Methode beachtet werden sollten.
3
@NicolaPeluchetti: Hier ist ein Beispiel , das die Unterscheidung zwischen Eigenschaften und Attributen veranschaulicht.
10
$('someSelectorForTheElement').attr('name');
Patricia
quelle
Sie sollten einen ID-Selektor verwenden. Wenn Sie einen Klassen-Selektor verwenden,
treten
2
id wäre ja am spezifischsten, aber ohne ihr HTML und den völligen Mangel an Details in der Frage ist es schwer zu sagen, welchen Selektor sie verwenden sollten.
Patricia
5

Spielen Sie mit diesem jsFiddle-Beispiel herum :

HTML:

<p id="foo" name="bar">Hello, world!</p>

jQuery:

$(function() {
    var name = $('#foo').attr('name');

    alert(name);
    console.log(name);
});

Dies verwendet die .attr () -Methode von jQuery , um den Wert für das erste Element in der übereinstimmenden Menge abzurufen .

Obwohl nicht speziell jQuery, wird das Ergebnis als gezeigt Alarm prompt und geschrieben an den Browser des Konsole .

rjb
quelle
3
var name = $('#myElement').attr('name');
Dennis Traub
quelle
0

Mit der Methode .attr () können Sie den Attributwert des ersten Elements in einem jQuery-Objekt abrufen :

$('#myelement').attr('name');
Didier Ghys
quelle