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
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.
.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.Odpowiedzi:
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
źródło
$(this).attr('name');
na selektorze klas$('.jobSelect').change(function() {
i nie napotkałem problemów.Aby odczytać właściwość obiektu, którego używasz,
.propertyName
lub["propertyName"]
notację.Nie inaczej jest w przypadku elementów.
var name = $('#item')[0].name; var name = $('#item')[0]["name"];
Jeśli chcesz użyć
jQuery
metod, użyj.prop()
metody.var name = $('#item').prop('name');
Należy pamiętać, że atrybuty i właściwości niekoniecznie są takie same.
źródło
prop()
dotyczy właściwości logicznych, takich jakchecked
nie dla atrybutów.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ę.$('someSelectorForTheElement').attr('name');
źródło
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 .
źródło
var name = $('#myElement').attr('name');
źródło
Metoda .attr () pozwala na pobranie wartości atrybutu pierwszego elementu w obiekcie jQuery:
$('#myelement').attr('name');
źródło