Дополнительно
Как получить ID элемента с помощью jQuery?
<div id="test"></div>
<script>
$(document).ready(function() {
alert($('#test').id);
});
</script>
Почему вышеуказанное не работает, и как мне это сделать?
1315
19
Путь jQuery:
В вашем примере:
Или через DOM:
или даже:
и причина использования
$('#test').get(0)
в JQuery или даже$('#test')[0]
заключается в том, что$('#test')
является селектором JQuery и возвращает массив() результатов, а не один элемент по умолчанию.альтернативой для селектора DOM в jquery является
который отличается от
.attr()
и$('#test').prop('foo')
захватывает указанное свойство DOMfoo
, в то время как$('#test').attr('foo')
захватывает указанный атрибут HTMLfoo
и вы можете найти более подробную информацию о различиях здесь.$('selector').attr('id')
вернет id первого найденного элемента. Ссылка.Если ваш набор содержит более одного элемента, вы можете использовать обычный
.each
iterator, чтобы вернуть массив, содержащий каждый из идентификаторов:Или, если вы хотите немного поработать, вы можете обойтись без обертки и использовать
.map
shortcut.id
является свойством htmlElement
. Однако, когда вы пишете$("#something")
, возвращается объект jQuery, который обертывает соответствующий элемент(ы) DOM. Чтобы получить первый подходящий элемент DOM, вызовитеget(0)
.На этом родном элементе можно вызвать id или любое другое родное свойство или функцию DOM.
Это причина, по которой
id
не работает в вашем коде.В качестве альтернативы используйте метод jQuery
attr
, как предлагают другие ответы, чтобы получить атрибутid
первого подходящего элемента.Выше ответы-это здорово, но как jQuery развивается.. так что вы можете сделать:
Некоторые проверки кода требуется, конечно, но легко реализуются!
.ID
- это не действительный функции jQuery. Вы должны использовать.функция м()
для доступа к атрибутам элемента обладает. Вы можете использовать `.м () как изменить значение атрибута путем задания двух параметров, или получить значение, определяя одно.http://api.jquery.com/attr/
Если вы хотите получить идентификатор элемента, позвольте'ы сказать селектора класса, когда событие (в данном случае событие click) был уволен в тот конкретный элемент, то следующий будет делать эту работу:
Ну, кажется, не было решения и хотел бы предложить мое собственное решение, является расширение библиотеки jQuery прототипа'ов. Я положил это в вспомогательный файл, который загружается после библиотеки jQuery, поэтому проверьте окна.в jQuery`
Он не может быть совершенным, но это начало может быть включение в библиотеки jQuery.
Возвращает одну строку значение или массив строковых значений. Массив строковых значений, для мероприятия был использован многоэлементный селектора.
$('#test')
возвращает объект jQuery, поэтому вы не можете'использовать простоobject.id
для получения егоId
.вам нужно использовать
$('#test').attr('id')
, который возвращает требуемыйID
элементаЭто также можно сделать следующим образом,
$('#test').get(0).id
, который равенdocument.getElementById('test').id
.$('#тест').М('ид')
В вашем примере:Может быть полезно для других, что найти эту нить. Приведенный ниже код будет работать только если вы уже используете jQuery. Функция всегда возвращает идентификатор. Если элемент не't имеет идентификатор функция генерирует идентификатор и добавить данный элемент.
Как использовать:
Используя выше код вы можете получить идентификатор.
Это старый вопрос, *но в 2015 году это может реально работать:
И вы также можете сделать задания:
Как долго, как вы определите следующие jQuery плагин:
Интересно, если "элемент" - это элемент DOM, то:
Это может быть идентификатор элемента , класса или автоматически с помощью даже
С ИД является атрибутом, вы можете сделать это с помощью
м
метод.это не ответ на ОП, но может быть интересно другим: вы можете получить доступ к `.поле идентификатор в этом случае:
в JavaScript $('#падение-вставка').карта((я, о) => о'.ИД)
Важно: если вы создаете новый объект с помощью jQuery и обязательное мероприятие, вы *должны ** использовать опора, а не до*, как это:
$(" в<див/>" в,{ ИД: "по yourId наша" Класс "и в yourclass-то", так и" в<промежуток></службы>", у }).на (на"нажмите", функция(е) { Алерт($(это).проп (на"идентификатор", у)); }).добавление(" и#что-то");
Это позволит, наконец, решить ваши проблемы:
допустим, у вас есть много кнопок на странице, и вы хотите изменить один из них с jQuery Аякс (или не Аякс) в зависимости от их ID.
давайте также сказать, что у вас много разных типа кнопок (для форм, для утверждения и для как целей), и вы хотите, чтобы jQuery, чтобы лечить только в "как и" кнопки.
здесь это код, который работает: в jQuery будет лечить только кнопки, которые относятся к классу .ЦБС-hlpb, он будет принимать ID кнопки, которая была нажата и изменять ее в зависимости от данных, которые поступают от "Аякса".