Jak uzyskać nazwę elementu za pomocą jQuery?


133

Jak uzyskać właściwość name elementu HTML za pomocą jQuery?


trochę html lub nawet trochę więcej informacji o elemencie, którego nazwę chcesz, pomogłoby nam udzielić bardziej szczegółowej odpowiedzi.
Patricia

4
Służy .prop()do pobierania właściwości i .attr()atrybutów. Nie używaj .attr()nieruchomości, jak wszyscy sugerują. Pracujemy tutaj z JavaScriptem, a nie ze znacznikami HTML.

11
To powinno zostać ponownie otwarte. Asker powinien zostać nagrodzony za dotarcie do sedna sprawy i niepodawanie czegoś w stylu „Mam tę witrynę internetową, na której ...”
cantera

@ cantera25: dzięki za wskazanie tego ...
Poonam Bhatt

Odpowiedzi:


229

Powinieneś używać w attr('name')ten sposób

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

Powinieneś użyć selektora id, jeśli używasz selektora klasy, napotkasz problemy, ponieważ zwracana jest kolekcja


9
Po prostu otrzymuję niezdefiniowane wartości, kiedy używam tego lub .prop ()
HorusKol

1
Czy jest jakiś powód, aby preferować attr („name”) zamiast prop („name”)?
dallin

Użyłem $(this).attr('name');na selektorze klas $('.jobSelect').change(function() {i nie napotkałem problemów.
Ömer An

14

Aby odczytać właściwość obiektu, którego używasz, .propertyNamelub ["propertyName"]notację.

Nie inaczej jest w przypadku elementów.

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

Jeśli chcesz użyć jQuerymetod, użyj .prop()metody.

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

Należy pamiętać, że atrybuty i właściwości niekoniecznie są takie same.


myślę, że prop()dotyczy właściwości logicznych, takich jak checkednie dla atrybutów
Nicola Peluchetti

2
@NicolaPeluchetti: .prop()dotyczy dowolnej właściwości elementu DOM. .attr()jest bardzo zagmatwaną metodą, która zmieniała swoje zachowanie między różnymi wersjami, czasami dając ci właściwość, innym razem atrybut. Tak czy inaczej, istnieje rozróżnienie między atrybutami a właściwościami, które należy obserwować, stosując odpowiednią metodę.

3
@NicolaPeluchetti: Oto przykład, który ilustruje różnicę między właściwościami a atrybutami.

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

powinieneś użyć selektora identyfikatora, jeśli używasz selektora klas, napotkasz problemy, ponieważ kolekcja jest zwracana
Nicola Peluchetti

2
id byłby najbardziej konkretny, tak, ale bez ich html i całkowitego braku szczegółów w pytaniu, trudno powiedzieć, jakiego selektora powinni użyć.
Patricia,

6

Pobaw się tym przykładem jsFiddle :

HTML:

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

jQuery:

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

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

Wykorzystuje metodę .attr () jQuery do pobrania wartości dla pierwszego elementu w dopasowanym zestawie.

Chociaż nie jest to konkretnie jQuery, wynik jest wyświetlany jako monit alertu i zapisywany w konsoli przeglądarki .



0

Metoda .attr () pozwala na pobranie wartości atrybutu pierwszego elementu w obiekcie jQuery:

$('#myelement').attr('name');
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.