Я изо всех сил стараюсь найти правильную терминологию, но если у вас есть объект jQuery...
$('#MyObject')
... можно извлечь базовый элемент? Значение, эквивалентное этому:
document.getElementById('MyObject')
Я изо всех сил стараюсь найти правильную терминологию, но если у вас есть объект jQuery...
$('#MyObject')
... можно извлечь базовый элемент? Значение, эквивалентное этому:
document.getElementById('MyObject')
Да, используйте .get(index)
. В соответствии с документация:
Метод
.get()
предоставляет доступ к узлам DOM, лежащим в основе каждого объекта jQuery.
$('#MyObject').get(0);
Я думаю, что ты хочешь. Я думаю, вы также можете ссылаться на него как на обычный массив:
$('#MyObject')[0];
Но я не уверен, что это всегда будет работать. Придерживайтесь первого синтаксиса.
Объект jQuery представляет собой набор элементов. В вашем случае - набор из одного элемента. Это отличается от некоторых других библиотек, которые обертывают отдельные элементы и предоставляют альтернативный синтаксис для селекторов, которые возвращают несколько совпадений.
Aaron W и VolkerK уже объяснили, как получить доступ к первому (индексу 0) элементу в наборе.
Я тестировал утверждения Aaron во всех браузерах, которые у меня есть на моем ящике:
$('#MyObject').get(0);
против
$('#MyObject')[0];
Насколько я могу судить, это только вопрос личных предпочтений.
Функционально оба этих утверждения эквивалентны как для существующих, так и для несуществующих элементов. Я протестировал следующие браузеры: Chrome 27.0, FF 21.0, IE10, IE9, IE8, IE7, IE6.
В тестах скорости, которые я запускал, не всегда можно было определить, какое изменение было быстрее; результат не всегда последователен, даже в том же браузере. Для тестов скорости я тестировал только существующие элементы. Мои результаты теста здесь.