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

Моя модифицированная библиотека поддержки поддерживает использование анимаций просмотра (например, , ) и объектных аниматоров (т. е. ) для фрагментарных переходов. Он реализован с помощью NineOldAndroids . Подробнее см. В моей документации по github.

1284
задан Yann Chabot 15 May 2017 в 14:16
поделиться

5 ответов

Способ jQuery:

$('#test').attr('id')

В вашем примере:

 $ (document) .ready (function () {console .log ($ ('# test'). attr ('id'));}); 
  

Или через DOM:

$('#test').get(0).id;

или даже:

$('#test')[0].id;

и причину использования $ ( '#test'). get (0) в JQuery или даже $ ('# test') [0] - это $ ('# test') Селектор JQuery и возвращает массив () результатов ни одного элемента по его функциональности по умолчанию

альтернативой для селектора DOM в jquery является

$('#test').prop('id')

, который отличается от .attr () и $ ('# test'). Prop ('foo') захватывает указанный DOM foo , а $ ('# test'). attr ('foo') получает указанный атрибут HTML foo , и вы можете найти более подробную информацию о различиях ] здесь .

2195
ответ дан 19 December 2019 в 20:16
поделиться

$('#test') возвращает объект jQuery, поэтому вы не можете использовать просто object.id для получения его Id

вам нужно использовать $('#test').attr('id'), который возвращает нужный вам ID элемента

Это также можно сделать следующим образом ,

$('#test'). get(0).id, который равен document.getElementById('test').id

4
ответ дан 19 December 2019 в 20:16
поделиться

.id не является допустимой функцией jquery. Для доступа к атрибутам, которыми обладает элемент, необходимо использовать функцию .attr(). С помощью .attr() можно как изменить значение атрибута, указав два параметра, так и получить значение, указав один.

http://api.jquery.com/attr/

9
ответ дан 19 December 2019 в 20:16
поделиться

id является свойством html элемента. Однако, когда вы пишете $("#something"), он возвращает объект jQuery, который обертывает соответствующий элемент(ы) DOM. Чтобы получить обратно первый подходящий элемент DOM, вызовите get(0)

$("#test").get(0)

На этом родном элементе можно вызвать id или любое другое родное свойство или функцию DOM.

$("#test").get(0).id

Вот причина, по которой id не работает в вашем коде.

В качестве альтернативы используйте метод jQuery attr, как предлагают другие ответы, чтобы получить атрибут id первого подходящего элемента.

$("#test").attr("id")
39
ответ дан 19 December 2019 в 20:16
поделиться

$ ('selector'). Attr ('id') вернет идентификатор первого совпадающего элемента. Ссылка .

Если ваш согласованный набор содержит более одного элемента, вы можете использовать обычный .each итератор , чтобы вернуть массив, содержащий каждый из идентификаторов:

var retval = []
$('selector').each(function(){
  retval.push($(this).attr('id'))
})
return retval

Или, если хотите чтобы стать немного более жестким, вы можете избежать оболочки и использовать ярлык .map .

return $('.selector').map(function(index,dom){return dom.id})
82
ответ дан 19 December 2019 в 20:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: