Как я могу получить имя элемента с помощью jQuery?


130

Как я могу получить свойство name элемента HTML с помощью jQuery?


Немного html или даже немного дополнительной информации об элементе, имя которого вы хотите назвать, поможет нам дать вам более конкретный ответ.
Patricia

4
Используйте .prop()для получения свойств и .attr()для получения атрибутов. Не используйте .attr()для получения собственности, как все предлагают. Здесь мы работаем с JavaScript, а не с разметкой HTML.

11
Это должно быть вновь открыто. Спрашивающий должен быть вознагражден за то, что
добрался

@ cantera25: спасибо, что указали на это ..
Пунам Бхатт

Ответы:


221

Вы должны использовать attr('name')это

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

вы должны использовать селектор идентификаторов, если вы используете селектор классов, вы столкнетесь с проблемами, потому что возвращается коллекция


8
Я просто получаю неопределенные значения, когда использую это или .prop ()
HorusKol

1
Есть ли причина предпочесть attr ('name') над prop ('name')?
dallin

Я использовал $(this).attr('name');селектор классов, $('.jobSelect').change(function() {и у меня не было проблем.
Ömer An

14

Чтобы прочитать свойство объекта, которое вы используете .propertyNameили ["propertyName"]обозначение.

Для элементов это не исключение.

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

Если вы специально хотите использовать jQueryметоды, вы должны использовать .prop()метод.

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

Обратите внимание, что атрибуты и свойства не обязательно совпадают.


я думаю, что prop()это для логических свойств, а checkedне для атрибутов
Никола Пелучетти

2
@NicolaPeluchetti: .prop()для любого свойства в элементе DOM. .attr()- это очень запутанный метод, который менял свое поведение между разными выпусками, иногда давая вам свойство, а иногда атрибут. В любом случае, существует различие между атрибутами и свойствами, которые следует соблюдать с помощью соответствующего метода.

3
@NicolaPeluchetti: Вот пример , демонстрирующий различие между свойствами и атрибутами.

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

вам следует использовать селектор идентификаторов, если вы используете селектор классов, вы столкнетесь с проблемами из-за возврата коллекции
Никола Пелучетти,

2
id было бы наиболее конкретным, да, но без их html и полного отсутствия деталей в вопросе трудно сказать, какой селектор им следует использовать.
Патрисия

5

Поиграйте с этим примером jsFiddle :

HTML:

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

JQuery:

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

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

Это использует jQuery .attr () метод для получения значения для первого элемента в согласованном наборе.

Хотя это и не является конкретно jQuery, результат отображается как предупреждение и записывается в консоль браузера .



0

Метод .attr () позволяет получить значение атрибута первого элемента в объекте jQuery:

$('#myelement').attr('name');
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.