Come posso ottenere il nome dell'elemento con jQuery?


130

Come posso ottenere la proprietà name dell'elemento HTML con jQuery?


qualche html o anche qualche informazione in più sull'elemento di cui vuoi il nome ci aiuterebbe a darti una risposta più specifica.
Patricia,

4
Utilizzare .prop()per ottenere proprietà e .attr()per ottenere attributi. Non usare .attr()per ottenere una proprietà come suggeriscono tutti. Stiamo lavorando con JavaScript qui, non con markup HTML.

11
Questo dovrebbe essere riaperto. Asker dovrebbe essere ricompensato per essere arrivato al punto e non aver prefigurato qualcosa come "Ho questo sito web dove ..."
cantera,

@ cantera25: grazie per averlo segnalato ..
Poonam Bhatt,

Risposte:


221

Dovresti usare attr('name')così

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

è necessario utilizzare un selettore ID, se si utilizza un selettore di classe si verificano problemi perché viene restituita una raccolta


8
Sto solo ottenendo valori indefiniti quando uso questo o .prop ()
HorusKol

1
C'è qualche motivo per preferire attr ('name') piuttosto che prop ('name')?
dallin

Ho usato $(this).attr('name');un selettore di classe $('.jobSelect').change(function() {e non ho riscontrato problemi.
Ömer An,

14

Per leggere una proprietà di un oggetto che usi .propertyNameo ["propertyName"]notazione.

Questo non è diverso per gli elementi.

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

Se si desidera utilizzare specificamente i jQuerymetodi, si utilizzerà il .prop()metodo.

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

Si noti che gli attributi e le proprietà non sono necessariamente gli stessi.


penso prop()sia per proprietà booleane come checkednon per attributi
Nicola Peluchetti,

2
@NicolaPeluchetti: .prop()è per qualsiasi proprietà sull'elemento DOM. .attr()è un metodo molto confuso che ha cambiato il suo comportamento tra diverse versioni, a volte dandoti la proprietà, altre volte l'attributo. Ad ogni modo, esiste una distinzione tra attributi e proprietà che dovrebbero essere osservati usando il metodo corretto.

3
@NicolaPeluchetti: ecco un esempio che illustra la distinzione tra proprietà e attributi.

10
$('someSelectorForTheElement').attr('name');

dovresti usare un selettore id, se usi un selettore di classe incontri problemi perché viene restituita una raccolta
Nicola Peluchetti

2
l'id sarebbe più specifico sì, ma senza il loro html e la completa mancanza di dettagli nella domanda, è difficile dire quale selettore dovrebbero usare.
Patricia,

5

Gioca con questo esempio di jsFiddle :

HTML:

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

jQuery:

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

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

Questo utilizza il metodo .attr () di jQuery per ottenere valore per il primo elemento nel set corrispondente.

Sebbene non sia specificamente jQuery, il risultato viene visualizzato come prompt di avviso e scritto sulla console del browser .



0

Il metodo .attr () consente di ottenere il valore dell'attributo del primo elemento in un oggetto jQuery:

$('#myelement').attr('name');
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.