Jak uzyskać właściwość name elementu HTML za pomocą jQuery?
.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.
Jak uzyskać właściwość name elementu HTML za pomocą jQuery?
.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
$(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.
prop()
dotyczy właściwości logicznych, takich jak checked
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');
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 .
var name = $('#myElement').attr('name');
Metoda .attr () pozwala na pobranie wartości atrybutu pierwszego elementu w obiekcie jQuery:
$('#myelement').attr('name');