2012-01-13 3 views
92

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

+0

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

+3

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

+10

Это должно быть вновь открыто. Аскер должен быть вознагражден за то, что он дошел до сути, а не предварял что-то вроде «У меня есть этот сайт, где ...» – cantera

ответ

150

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

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

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

+6

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

+1

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

9
$('someSelectorForTheElement').attr('name'); 
+0

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

+1

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

2
var name = $('#myElement').attr('name'); 
7

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

Это не отличается от элементов.

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

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

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

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

+0

Я думаю, что 'prop()' для булевых свойств, таких как 'checked' not для атрибутов –

+2

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

+2

@NicolaPeluchetti: [Вот пример] (http://jsfiddle.net/u35MG/), который иллюстрирует различие между свойствами и атрибутами. –

0

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

$('#myelement').attr('name'); 
1

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

HTML:

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

jQuery:

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

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

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

В то время как конкретно не jQuery, результат отображается как alert prompt и написан в .

Смежные вопросы